MySQL表的创建

来源:互联网 发布:mac如何设置默认输入法 编辑:程序博客网 时间:2024/05/29 17:14

  表是数据库存储数据的基本单位。一个表包含若干个字段或记录。表的操作包括创建新表、修改表和删除表。这些都是数据库管理中最基本,也是最重要的操作。

一、通过SQL语句

  MySQL中,创建表是通过SQL语句CREATE TABLE实现的,其语法如下:

CREATE TABLE 表名 (    属性名1 数据类型 [完整性约束条件],    属性名2 数据类型 [完整性约束条件]);

  表名:将要创建表的名称;
  属性名:数据表中字段的名称;
  数据类型:当前字段的数据类型,比如int型;
  完整性约束条件:该字段是可选的,用于指定当前字段的某些特殊约束条件,下标为MySQL的约束条件关键字及其解释:
这里写图片描述
  
  注意:在创建表时,首先要使用USE语句选择相应的数据库。

  下面给出在数据库test中创建表example0 的代码:

mysql> use test;Database changedmysql> show tables;Empty set (0.00 sec)mysql> CREATE TABLE example0 (    -> id INT,    -> name VARCHAR(20),    -> sex BOOLEAN    -> );Query OK, 0 rows affected (0.25 sec)mysql> show tables;+----------------+| Tables_in_test |+----------------+| example0       |+----------------+1 row in set (0.00 sec)

  上述代码中,在未创建表之前使用“show tables;”指令查看数据库中的表显示为空,创建之后再查看,可以看到example0已经存在了。
  
  下面给出创建表时,带约束条件的方式:

CREATE TABLE IF NOT EXISTS t1 (    tid INT UNSIGNED NOT NULL AUTO_INCREMENT,    tname VARCHAR(30) NOT NULL,    PRIMARY KEY(tid))ENGINE=MYISAM AUTO_INCREMENT=1024 DEFAULT CHARSET=utf8;

  上述代码创建的表中包括两个字段tid和tname。
  tid的数据类型为INT,约束条件为UNSIGNED、NOT NULL、AUTO_INCREMENT,表示该字段为非负数、不能为空、自动增长;
  tname的数据类型为VARCHAR,约束条件为非空;PRIMARY KEY(tid)指定tid为该表的主键
  ENGINE=MYISAM:表示该表采用MYISAM存储引擎;
  AUTO_INCREMENT=1024:表示自动增长的字段从1024开始;
  DEFAULT CHARSET=utf8:表示该表默认字符集编码为utf8。

  通过SHOW COLUMNS FROM指令可以查看刚才创建的表的属性:

mysql> SHOW COLUMNS FROM t1;+-------+------------------+------+-----+---------+----------------+| Field | Type             | Null | Key | Default | Extra          |+-------+------------------+------+-----+---------+----------------+| tid   | int(10) unsigned | NO   | PRI | NULL    | auto_increment || tname | varchar(30)      | NO   |     | NULL    |                |+-------+------------------+------+-----+---------+----------------+2 rows in set (0.00 sec)

二、通过程序

原创粉丝点击