MySQL創(chuàng)建和刪除數(shù)據(jù)表的命令及語法詳解
創(chuàng)建數(shù)據(jù)表
創(chuàng)建MySQL數(shù)據(jù)表需要以下信息:
- 表名
- 表字段名
- 定義每個(gè)表字段
語法
以下為創(chuàng)建MySQL數(shù)據(jù)表的SQL通用語法:
CREATE TABLE table_name (column_name column_type);
以下例子中我們將在 TUTORIALS 數(shù)據(jù)庫中創(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ù)庫時(shí)如果輸入該字段的數(shù)據(jù)為NULL ,就會(huì)報(bào)錯(cuò)。
AUTO_INCREMENT定義列為自增的屬性,一般用于主鍵,數(shù)值會(huì)自動(dòng)加1。
PRIMARY KEY關(guān)鍵字用于定義列為主鍵。 您可以使用多列來定義主鍵,列間以逗號(hào)分隔。
通過命令提示符創(chuàng)建表
通過 mysql> 命令窗口可以很簡單的創(chuàng)建MySQL數(shù)據(jù)表。你可以使用 SQL 語句 CREATE TABLE 來創(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ù)來創(chuàng)建已存在數(shù)據(jù)庫的數(shù)據(jù)表。
該函數(shù)有兩個(gè)參數(shù),在執(zhí)行成功時(shí)返回 TRUE,否則返回 FALSE。
語法
bool mysql_query( sql, connection );

實(shí)例
以下實(shí)例使用了PHP腳本來創(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ì)消失。
語法
以下為刪除MySQL數(shù)據(jù)表的通用語法:
DROP TABLE table_name ;
在命令提示窗口中刪除數(shù)據(jù)表
在mysql>命令提示窗口中刪除數(shù)據(jù)表SQL語句為 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ù)來刪除 MySQL 數(shù)據(jù)表。
該函數(shù)有兩個(gè)參數(shù),在執(zhí)行成功時(shí)返回 TRUE,否則返回 FALSE。
語法
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問題的方法
這篇文章主要為大家詳細(xì)介紹了解決MySQL安裝重裝時(shí)出現(xiàn)could not start the service mysql error:0問題的方法,感興趣的小伙伴們可以參考一下2016-06-06
PHP mysqli 增強(qiáng) 批量執(zhí)行sql 語句的實(shí)現(xiàn)代碼
本篇文章介紹了,在PHP中 mysqli 增強(qiáng) 批量執(zhí)行sql 語句的實(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)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02

