MySQL創(chuàng)建和刪除數(shù)據(jù)表的命令及語(yǔ)法詳解
創(chuàng)建數(shù)據(jù)表
創(chuàng)建MySQL數(shù)據(jù)表需要以下信息:
- 表名
- 表字段名
- 定義每個(gè)表字段
語(yǔ)法
以下為創(chuàng)建MySQL數(shù)據(jù)表的SQL通用語(yǔ)法:
CREATE TABLE table_name (column_name column_type);
以下例子中我們將在 TUTORIALS 數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)表tutorials_tbl:
tutorials_tbl( tutorial_id INT NOT NULL AUTO_INCREMENT, tutorial_title VARCHAR(100) NOT NULL, tutorial_author VARCHAR(40) NOT NULL, submission_date DATE, PRIMARY KEY ( tutorial_id ) );
實(shí)例解析:
如果你不想字段為 NULL 可以設(shè)置字段的屬性為 NOT NULL, 在操作數(shù)據(jù)庫(kù)時(shí)如果輸入該字段的數(shù)據(jù)為NULL ,就會(huì)報(bào)錯(cuò)。
AUTO_INCREMENT定義列為自增的屬性,一般用于主鍵,數(shù)值會(huì)自動(dòng)加1。
PRIMARY KEY關(guān)鍵字用于定義列為主鍵。 您可以使用多列來(lái)定義主鍵,列間以逗號(hào)分隔。
通過(guò)命令提示符創(chuàng)建表
通過(guò) mysql> 命令窗口可以很簡(jiǎn)單的創(chuàng)建MySQL數(shù)據(jù)表。你可以使用 SQL 語(yǔ)句 CREATE TABLE 來(lái)創(chuàng)建數(shù)據(jù)表。
實(shí)例
以下為創(chuàng)建數(shù)據(jù)表 tutorials_tbl 實(shí)例:
root@host# mysql -u root -p
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> CREATE TABLE tutorials_tbl( -> tutorial_id INT NOT NULL AUTO_INCREMENT, -> tutorial_title VARCHAR(100) NOT NULL, -> tutorial_author VARCHAR(40) NOT NULL, -> submission_date DATE, -> PRIMARY KEY ( tutorial_id ) -> );
Query OK, 0 rows affected (0.16 sec)
mysql>
注意:MySQL命令終止符為分號(hào) (;) 。
使用PHP腳本創(chuàng)建數(shù)據(jù)表
你可以使用PHP的 mysql_query() 函數(shù)來(lái)創(chuàng)建已存在數(shù)據(jù)庫(kù)的數(shù)據(jù)表。
該函數(shù)有兩個(gè)參數(shù),在執(zhí)行成功時(shí)返回 TRUE,否則返回 FALSE。
語(yǔ)法
bool mysql_query( sql, connection );
實(shí)例
以下實(shí)例使用了PHP腳本來(lái)創(chuàng)建數(shù)據(jù)表:
<html> <head> <title>Creating MySQL Tables</title> </head> <body> <?php $dbhost = 'localhost:3036'; $dbuser = 'root'; $dbpass = 'rootpassword'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully<br />'; $sql = "CREATE TABLE tutorials_tbl( ". "tutorial_id INT NOT NULL AUTO_INCREMENT, ". "tutorial_title VARCHAR(100) NOT NULL, ". "tutorial_author VARCHAR(40) NOT NULL, ". "submission_date DATE, ". "PRIMARY KEY ( tutorial_id )); "; mysql_select_db( 'TUTORIALS' ); $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('Could not create table: ' . mysql_error()); } echo "Table created successfully\n"; mysql_close($conn); ?> </body> </html>
刪除數(shù)據(jù)表
MySQL中刪除數(shù)據(jù)表是非常容易操作的, 但是你再進(jìn)行刪除表操作時(shí)要非常小心,因?yàn)閳?zhí)行刪除命令后所有數(shù)據(jù)都會(huì)消失。
語(yǔ)法
以下為刪除MySQL數(shù)據(jù)表的通用語(yǔ)法:
DROP TABLE table_name ;
在命令提示窗口中刪除數(shù)據(jù)表
在mysql>命令提示窗口中刪除數(shù)據(jù)表SQL語(yǔ)句為 DROP TABLE :
實(shí)例
以下實(shí)例刪除了數(shù)據(jù)表tutorials_tbl:
root@host# mysql -u root -p Enter password:*******
mysql> use TUTORIALS; Database changed mysql> DROP TABLE tutorials_tbl Query OK, 0 rows affected (0.8 sec) mysql>
使用PHP腳本刪除數(shù)據(jù)表
PHP使用 mysql_query 函數(shù)來(lái)刪除 MySQL 數(shù)據(jù)表。
該函數(shù)有兩個(gè)參數(shù),在執(zhí)行成功時(shí)返回 TRUE,否則返回 FALSE。
語(yǔ)法
bool mysql_query( sql, connection );
實(shí)例
以下實(shí)例使用了PHP腳本刪除數(shù)據(jù)表tutorials_tbl:
<html> <head> <title>Creating MySQL Tables</title> </head> <body> <?php $dbhost = 'localhost:3036'; $dbuser = 'root'; $dbpass = 'rootpassword'; $conn = mysql_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully<br />'; $sql = "DROP TABLE tutorials_tbl"; mysql_select_db( 'TUTORIALS' ); $retval = mysql_query( $sql, $conn ); if(! $retval ) { die('Could not delete table: ' . mysql_error()); } echo "Table deleted successfully\n"; mysql_close($conn); ?> </body> </html>
相關(guān)文章
解決MySQL安裝重裝時(shí)出現(xiàn)could not start the service mysql error:0問(wèn)題的方法
這篇文章主要為大家詳細(xì)介紹了解決MySQL安裝重裝時(shí)出現(xiàn)could not start the service mysql error:0問(wèn)題的方法,感興趣的小伙伴們可以參考一下2016-06-06PHP mysqli 增強(qiáng) 批量執(zhí)行sql 語(yǔ)句的實(shí)現(xiàn)代碼
本篇文章介紹了,在PHP中 mysqli 增強(qiáng) 批量執(zhí)行sql 語(yǔ)句的實(shí)現(xiàn)代碼。需要的朋友參考下2013-05-05一文詳解Mysql?insert也會(huì)發(fā)生死鎖嗎
死鎖的本質(zhì)是資源競(jìng)爭(zhēng),批量插入如果順序不一致很容易導(dǎo)致死鎖,這篇文章主要給大家介紹了關(guān)于Mysql?insert是否也會(huì)發(fā)生死鎖的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02