,今天小编就来说说关于mysql创建数据库表?下面更多详细答案一起来看看吧!
mysql创建数据库表
- 在创建完数据库之后,接下来的工作就是创建数据表。所谓创建数据表,指的是在已经创建好的数据库中建立新表。创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性等)约束的过程
- 创建表的语法形式
- 数据表属于数据库,在创建数据表之前,应该使用语句 “use <数据库名>”指定操作是在那个数据库中进行,如果没有选择数据库,就会出错("No database selected") 创建数据表的语句及语法: create table <表名> ( 字段名1,数据类型[列级别约束条件] [默认值], 字段名2,数据类型[列级别约束条件] [默认值], ...... [表级别约束条件] ); 使用create table创建表时,必须指定一下信息:
- 要创建的表的名称,不区分大小写,不能使用SQL语言中的关键字,如drop 、alter、insert等
- 数据表中每一列(字段)的名称和数据类型,如果创建多列,就要用逗号(,)隔开。
- 使用主键约束
- 主键,又称主码,是表中一列或多列的组合。主键约束(primary key constraint)要求主键列的数据唯一,并且不允许为空。主键能够唯一地标识表中的一条记录,可以结合外键来定义不同数据表之间的关系,并且可以加快 数据库查询的速度。主键和记录之间的关系如同身份证和人之间的关系,它们之间是一一对应的。 主键分为两种类型: 单字段主键 多字段联合主键 (1)单字段主键 主键由一个字段组成
- 在定义列的同时指定主键
- 字段名 数据类型 primary key [默认值]
- 定义完所有列之后指定主键
- [constraint <约束名>] primary key [字段名] (2) 多字段联合主键 主键由多个字段联合组成: primary key [字段1,字段2,......,字段n]
- 使用外键约束
- 外键用来在两个表的数据之间建立连接,可以是一列或者多列。一个表可以有一个或多个外键。外键对用的是参照完整性,一个表的外键可以为空值,若不为空值,则每一个外键值必须等于另一个表中主键的某个值。 外键:首先它是表中的一个字段,虽可以不是本表的主键但要对应另外一个表的主键。外键的主要作用是保证数据引用的完整性,定义外键后,不允许删除在另一个表中具有关联关系的行。外键的作用是保持数据的一致性、完整性。 主表(父表):对于两个具有关联关系的表而言,相关联字段中主键所在的那个表即是主表。 从表(子表):对于两个具有关联关系的表而言,相关联字段中外键所在的哪个表即是从表 创建外键的语法规则: [constraint<外键名>]foreign key 字段名1 [,字段名2,...] references <主表名>主键列1[,主键列2,...] ”外键名“为定义的外键约束的名称,一个表中不能有相同名称的外键;”字段名“表示子表需要添加外键约束的字段列;”主表名“即被子表外键所依赖的表的名称;”主键列“表示主表中定义的主键列,或者列组合。 关联指的是在关系型数据库中相关表之间的联系。它是通过相容或相同的属性或属性组来表示的。子表的外键必须关联父表的主键,且关联字段的数据类型必须匹配,如果类型不一样,则创建子表时,就会出现错误。
- 使用非空约束
- 非空约束(not null constraint)指字段的值不能为空。对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统会报错。 语法: 字段名 数据类型 not null
- 使用唯一性约束
- 唯一性约束(unique constraint)要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值。 语法规则: (1)在定义完列之后直接指定唯一约束: 字段名 数据类型 unique (2)在定义完所有列之后指定唯一约束: [constraint <约束名>]unique(<字段名>) unique和primary的区别:一个表中可以有多个字段声明为unique,但只能有一个primary key 声明;声明为primary key 的列不允许有空值,但是声明为unique的字段允许有空值(null)的存在.
- 使用默认约束
- 默认约束(default constraint)指定某列的默认值. 如男性同学较多,性别就可以默认为"男",如果插入一条新的记录时没有为这个字段赋值,name系统会自动为这个字段赋值为"男"。 字段名 数据类型 default 默认值
- 设置表的属性值自动增加
- 在数据库应用中,经常希望在每次插入新记录时,系统自动生成字段的主键值。可以通过为表主键添加AUTO_INCREMENT关键字来实现。默认的,在MySQL中AUTO_INCREMENT的初始值是1,每新增一条记录,字段值自动加1。一个表只能有一个字段使用AUTO_INCREMENT约束,且该字段必须为主键的一部分。AUTO_INCREMENT约束的字段可以是任何整数类型(TINYINT,SMALLIN,INT,BIGINT等)。 设置表的属性值自动增加的语法如下: 字段名 数据类型 AUTO_INCREMENT