数据库和数据表列表篇
PERL 实例
# 获取当前数据库中所有可用的表。
1 2 3 4 | my @tables =$dbh->tables ( ); foreach $table (@tables){ print "Table Name $table\n"; } |
PHP 实例:
1 2 3 4 5 | $db_list =mysql_list_dbs($con); while ($db = mysql_fetch_object($db_list)) { echo $db->Database . "<br/>"; } |
MySQL 序列
MySQL序列是一组整数:1, 2, 3, ...,
用 MySQLAUTO_INCREMENT 来定义列。
mysql> CREATE TABLEinsect
-> (
-> id INT UNSIGNED NOT NULLAUTO_INCREMENT,
用 SQL中的LAST_INSERT_ID() 函数来获取最后的插入表中的自增列的值。
PERL实例
使用mysql_insertid 属性来获取 AUTO_INCREMENT 的值。实例如下:
$dbh->do("INSERT INTO insect (name,date,origin)
VALUES('moth','2001-09-14','windowsill')");
my $seq =$dbh->{mysql_insertid};
PHP实例
PHP 通过 mysql_insert_id ()函数来获取执行的插入SQL语句中 AUTO_INCREMENT列的值。
1 2 3 | mysql_query("INSERT INTO insect (name,date,origin) VALUES('moth','2001-09-14','windowsill')",$conn_id); $seq = mysql_insert_id($conn_id); |
重置序列
删除了数据表中的多条记录,并对剩下数据的AUTO_INCREMENT列进行重新排列,那么你可以通过删除自增的列,然后重新添加来实现。
mysql> ALTER TABLEinsect DROP id;
mysql> ALTER TABLEinsect
-> ADD id INT UNSIGNED NOT NULLAUTO_INCREMENT FIRST,
-> ADD PRIMARY KEY (id);
一般情况下序列的开始值为1,但如果你需要指定一个开始值100:
-> id INT UNSIGNEDNOT NULL AUTO_INCREMENT = 100,
或在表创建成功后,通过以下语句来实现:
mysql> ALTER TABLE tAUTO_INCREMENT = 100;
转载请注明:IT运维空间 » Mysql » mysql快速学习数据库和数据表列表篇(十四)
发表评论