表的创建命令需要:
表的名称
字段名称
定义每个字段(类型、长度等)
语法
下面是通用的SQL语法用来创建MySQL表:
CREATE TABLE table_name (column_name column_type);
现在,我们将在 test 数据库中创建以下表。
create table tutorials_tbl(
tutorial_id INT NOTNULL AUTO_INCREMENT,tutorial_title VARCHAR(100) NOT NULL,tutorial_author VARCHAR(40) NOT NULL,submission_dateDATE,PRIMARYKEY( tutorial_id )
);
在这里,一些数据项需要解释:
字段使用NOT NULL属性,是因为我们不希望这个字段的值为NULL。 因此,如果用户将尝试创建具有NULL值的记录,那么MySQL会产生错误。
字段的AUTO_INCREMENT属性告诉MySQL自动增加id字段下一个可用编号。
关键字PRIMARY KEY用于定义此列作为主键。可以使用逗号分隔多个列来定义主键。
1、通过命令提示符来创建表
在mysql>提示符下,创建一个MySQL表这是很容易的。使用 SQL 命令 CREATE TABLE 来创建表。
示例
下面是一个例子,创建一个表:tutorials_tbl
root@host#mysql -u root -p
Enter password:
mysql> useTUTORIALS;
Database changedmysql>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.16sec)mysql>
注:MySQL不会终止命令,直到给一个分号(;)表示SQL命令结束。
查看创建表的结果:
2、使用PHP脚本创建表
要在现有数据库中创建新表,需要使用PHP函数mysql_query()。通过它的第二个参数 SQL命令来创建一个表。
示例:
这里有一个例子,使用PHP脚本来创建一个表:
Creating MySQL Tables
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn)
{
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully
';
$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( 'test');
$retval = mysql_query( $sql, $conn);
if(! $retval)
{
die('Could not create table: ' . mysql_error());
}
echo "Table created successfully\n";
mysql_close($conn);
?>
mysql创建表时,设置时间字段自动插入当前时间
DROP TABLE IF EXISTS 'CONTENT';
CREATE TABLE'CONTENT'('ID' char(20) NOT NULL,'CURRENT_TIME' timestamp not null defaultcurrent_timestamp,
PRIMARY KEY ('ID')
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
创建数据库示例:
/*create database Merchandise;*//*创建数据库*/
DROP TABLE IF EXISTS 'commodity';
create table`commodity`
(
`id`int unsigned not null auto_increment primary key,//序号
`commodity_name`varchar(50) not null,//商品名称
`formatI`varchar(50) not null,//商品规格
`price`double not null,//商品价格
`quantity`double not null,//商品数量
`period`int(20),//商品周期
`purchase_sel`varchar(6),//购/销
`remark`varchar(100),//备注
`write_time`timestamp default current_timestamp//日期-时间
)charset utf8;