明天继续写

数据表的基本操作

创建数据表

    在创建完数据库后,接下来的工作就是创建据表。所谓创建数据表,指的是在已经创建好的数据库中建立新表。
创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性
等)约束的过程。
创建表的语法形式
    数据表属于数据库,在创建数据表之前,应该使用“USE <数据库名>”指定操作是在哪个数据库中进行,如果
没有没有选择数据库,则会抛出“No databases selected”错误。创建数据表的语句为CREATE TABLE,语法规
则如下:

CREATE TABLE <表名>
(
字段名1,数据类型 [列级别约束条件] [默认值],
字段名2,数据类型 [列级别约束条件] [默认值],
.....
[表级别约束条件]
);

使用CREATE TABLE 创建表时,必须指定以下信息:
(1)要创建的表的名称,不区分大小写,不能使用SQL语句中的关键字,如DROP、ALTER、INSER等。
(2)数据表中每一个列的名称和数据类型,如果创建多个列,要用逗号隔开。
示例

在这里插入图片描述
在这里插入图片描述

使用主键约束
    主键,有又称主码,是表中一列或者多列的组合。主键约束(Primary Key Constraint)要求主键列的数据唯一,并且不允许为空。
主键能够唯一的标识表中的一条记录,可以结合外键定义不同表之间的关系,并且可以加快数据库查询的速度。主键与记录之间的关系,如同
身份证和人之间的关系,他们之间是一一对应的。主键分为两种类型:单字段主键和多字段联合主键。
    
    1.单字段主键
    单字段主键由一个字段组成,SQL语句格式分为以下两种请求,
    (1)在定义列的同时指定主键,语法规则如下:
    字段名 数据类型 PRIMARY KEY [默认值]
    (2)定义完所有列之后指定主键
    [CONSTRAINT <约束名>] PRIMARY KEY [主键名]
    语句执行后,便创建了一个名为tb_emp4的数据表,name字段和deptId字段组合在一起成为tb_emp4的多字联合主键。

在这里插入图片描述
在这里插入图片描述

使用外键约束
	外键用来在两个表的数据之间建立连接,它可以是一列或者多列,一个表可以有一个或多个外键。外键对应的是参照完整性,
一个表的外键可以为空值,若不为空值,则每一个外键值必须等于另一个表中主键的某个值。
	外键:首先它是表中的一个字段,它可以不是本表的主键,但对应着另一个表中的主键。外键的主要作用是保证数据引用的
完整性,定义外键后,不允许删除在另一个表中具有关联关系的行。外键的作用是保证数据的一致性、完整性。
	主表(父表):对于两个具有关联关系的表而言,相关联字段中主键所在的那个表就是主表。
	从表(字表):对于两个具有关联关系的表而言,相关联字段中外键所在的那个表就是从表。
	创建外键的语法规则如下
	[CONSTRAINT <外键名>] FOREIGN KEY 字段名1 [,字段名2,...] REFERENCES <主表名> 主键列1 [,主键列2,,...]
	“外键名”为定义的外键约束的名称,一个表中不能有相同名称的外键;“字段名”表示子表需要添加外键约束的字段列;“
	主表名”即被子表外键所依赖的表的名称;“主键列”表示主表中定义的主键列,或者列组合。

在这里插入图片描述

	以上语句执行成功之后,在表tb_emp5上添加了名称为fk_emp_dept的外键约束,外键名称为deptId,其依赖于表tb_dept1的主键id。
	关联指的是在关系型数据库中,相关表之间的联系,它是通过相容或相同或属性组来表示的。子表的外键必须管理父表的主键,且关
联字段的数据类型必须匹配,如果类型不匹配,在创建子表时,就会出现错误“ERROR 1005 (HY000):Can't create table 'database.tablename'(errrno:150)”。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章