纵有疾风起
人生不言弃

mysql创建表

1.创建表(CREATE TABLE)

数据库创建以后,使用use命令选定这个新创建的数据库作为默认(当前)数据库使用,就可以继续建立其包含的数据表。数据表的创建是使用表的前提,创建数据表主要是定义数据表的结构,包括数据表的名称、字段名、字段类型、约束及其索引等。其基本语法如下所示:

  1. CREATE TABLE [IF NOT EXISTS] 表名称(       #创建带给定名称的表,必须拥有表CREATE权限 
  2.     字段名1 列类型 [属性] [索引],     #声明表中第一个字段,必须有字段名和列类型 
  3.     字段名2 列类型 [属性] [索引], 
  4.     … 
  5.     字段名n 列类型 [属性] [索引]      #每个字段的属性和索引都是可选的,根据需要设置 
  6. )[表类型] [表字符集];          #在创建表时也可以指定可选的表类型和字符集的设置 

其中“[]”中为可选的内容,一个表可以由一个或多个字段(列)组成,在字段后面一定要注明字段的数据类型。每一个字段也可以使用属性对其进行限制说明,但属性是可选的,根据表的需要进行声明,如前面介绍的AUTO_INCREMENT、NOT NULL、DEFAULT属性等。还可以通过PRIMARYKEY、UNIQUE、INDEX和KEY子句为每个字段定义索引。索引可以跟在每个字段后面声明,也可以在字段声明之后使用从句的方式声明。如果有多个列,用逗号将它们分隔.例如创建一个用于存储用户信息users.

在创建表users时,除了需要指定各个字段的属性和索引外,还需要指定默认的表类型为MyISAM,以及指定默认创建表字符集(character set)为utf8,校队规则(collation)是utf8_general_ci。在MySQL控制台中输入以下语句创建数据表users,代码如下:

  1. CREATE TABLE IF NOT EXISTS users( 
  2.     id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, 
  3.     username VARCHAR(50) NOT NULL
  4.     userpass VARCHAR(50) NOT NULL
  5.     telno VARCHAR(20) NOT NULL UNIQUE
  6.     sex ENUM(‘男’,‘女’NOT NULL DEFAULT ‘男’
  7.     brithday DATE NOT NULL DEFAULT ‘0000-00-00’
  8.     PRIMARY KEY(ID), 
  9.     INDEX users_username(username,userpass) 
  10. )ENGINE=MyISAM DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 

数据表成功创建后,可以在MySQL控制台中使用“SHOW TABLES”命令查看。还可以在MySQL控制台中,使用“describe表名”或“desc表名”命令用于显示表的创建结构.

默认的情况是,表被创建到当前的数据库中。如果表已存在,或者如果没有当前数据库,或者如果数据库不存在,则会出错。表名称也可以被指定为“数据库名.表名”,以便在特定的数据库中创建表。不论是否有当前数据库,都可以通过这种方式创建表。如果使用加引号的识别名,则应对数据库和表名称分别加引号。例如,‘mydb’.‘mytbl’是合法的,但是‘mydb.mybl’不合法。如果表已存在则使用关键词if not exists可以防止发生错误。

未经允许不得转载:起风网 » mysql创建表
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录