数据表的基本操作 学习笔记
Posted laiyuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据表的基本操作 学习笔记相关的知识,希望对你有一定的参考价值。
表是库中最重要,最基本的操作对象,是数据存储的基本单位。表被定义为列的集合,数据在表中是按照行和列的格式来存储的。每一行代表一条唯一的记录,每一列代表记录中的一个域。
创建数据表,查看数据表结构,修改数据表,删除数据表。理解约束,默认和规则的含义并学会运用。
- 创建数据表,语法规则如图需要指定表的名称(不区分大小写),每一列的名称和数据类型,多个列之间用都好隔开。
如: ,创建方式如图:
- 使用主键约束 主键即主码,是表中一列或多了的组合,主键约束要求主键列的数据唯一,并且不允许为空。可以结合外键来定义不同数据表之间的关系,并且可以加速数据库查询的速度。分为单字段主键和多字段联合主键。
- 单字段主键,由一个字段组成,SQL语句格式分为两种情况,一是 在定义列的同时指定主键,语法规则: 字段名 数据类型 PRIMARY KEY(默认值)如下表 二是 在第一晚所有列之后指定主键。如图:
-
多字段联合主键,主键由多个字段联合组成,语法 PRIMARY KEY (字段1,字段2,字段3......字段n),如下图:
- 使用外键约束 在两个表的数据中间建立连接,一列或多了,一个表可以有一个或多个外键。外键可以为空,若不为空,则外键必须等于另一个表中主键的某个值。,可以不是本表的主键,但对应另外一个表的主键。 主表(父表)主键所在的表,从表(子表)外键所在的表。创建部门表 tb_dept1 定义数据表 tb_emp5,让它的键deptId作为外键关联到tb_dept1的主键id,如下图所示:
- 使用非空约束 指字段的值不能为空,如果添加数据时为空,则会报错。语法 字段名 数据类型 not null
- 使用唯一性约束 要求该列唯一,允许为空,但只能出现一个空值,可以确保一列或几列不出险重复值。 语法 字段名 数据类型 UNIQUE
一个表可以有多个UNIQUE,可以有一个为空。
- 使用默认约束,指定某列的默认,语法 字段名 数据类型 DEFAULT 默认值
- 设置表的属性自动增加,既 AUTO_INCREMENT 一个标准只能有一个字段使用该约束,且必须为主键的一部分。可以使任何证书类型。 语法 字段名 数据类型 AUTO_INCREMENT
-
查看数据表的基本结构DESCRIBE 查看表的字段信息,保库字段名,字段数据类型,是否为主键,是否有默认值等。 DESCRIBE 表名; or DESC 表名;
-
NULL 表示该列可以为空。
-
Key,表示该列是否已编制索引,PRI表示该列是主键的一部分,UNI表示该列是UNIQUE索引的一部分,MUL表示在列表中某个给定值允许出现多次。
-
Default 表示该列是否有默认值,如有有的话值是多少。
-
Extra,表示可以获取的与给定列有关的附件信息,例如AUTO_INCREMENT等。
-
- 查看 表详细结构语句 SHOW CREATE TABLE 显示创建表时的CREATE TABLE语句,语法 SHOW CREATE TABLE <表名\\G>; 还可以查看存储引擎和字符编码。参数‘\\G‘可以使结果直观,易于查看。
- 修改表名 ALTER TABLE <旧表名> RENAME [TO] <新表名>;
- 修改字段的数据类型 语法 ALTER TABLE <表名> MODIFY <字段名> <数据类型>,由于不同类型的数据在机器中存储的方式及长度并不同,修改数据类型可能会影响到数据表中已有的数据记录,所以不要轻易修改有数据的数据类型。
- 修改字段名 语法 ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;
- 添加字段 语法 ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST | AFTER 已存在字段名]; first是将新添加的字段设置为第一个字段,after将新添加的字段放到已有字段的后面。没有这俩字段,默认放在最后列。
- 删除字段 ALTER TABLE <表名> DROP <字段名>;
- 修改字段的位置 ALTER TABLE <表名> MODIFY <字段1> <数据类型> FIRST|AFTER <字段2>; FIRST 表示将字段1修改为表的第一个字段, AFTER 字段2 指将字段1插入到字段2的后面。
- 更改表的存储引擎 ALTER TABLE <表名> ENGINE=<更改后的存储引擎名>;
- 删除表的外键约束 ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>
- 删除数据表
- 没有被关联的表 DROP TABLE [IF EXISTS] 表1,表2,...表n; if exists用于当有表不存在是也可以顺利执行,但是会发出警告。
-
- 删除被其他表关联的主表,先删除指标在删除父表。如要需要保存子表,就先接触外键约束条件。然后删除父表。
-
以上是关于数据表的基本操作 学习笔记的主要内容,如果未能解决你的问题,请参考以下文章