数据表的基本操作

绝地灬酷狼 2022-05-11 03:36 356阅读 0赞

数据表的基本操作

在数据库中,数据表是数据库中最重要、最基本的操作对象,是数据储存的基本单位。数据表被定义为列的集合,数据在表中是按照行和列的格式来储存的,每一行代表一条唯一的记录,每一列代表记录中的一个域。

1.创建数据表

创建数据表的过程是规定数据列的属性过程,同时也是实施数据完整性约束的过程。

1.1)创建表的语法形式

在创建数据表之前首先应该指定在那个数据库中。使用“USE <数据库名>”语句。如果没有数据库会抛出“no database selected”异常

语法:

CREATE TABLE <表名>

(

字段名1 数据类型[列级别约束条件] [默认值],

字段名2 数据类型[列级别约束条件] [默认值]

);

注意:1.创建表的名称不区分大小写,不能使用SQL语言中的关键字

  1. 数据表中每一列的名称和数据类型,如果创建多个列,用逗号隔开。

1.2)使用主键约束

主键又称为主码,是表中一列或多列的组合。主键约束要求主键列的数据唯一,并且不允许为空。主键可以唯一的确定表中的一条记录,可以通过外键来确定不同数据表之间的关系,并且课可以加快数据库查询的速度。主键和记录之间的关系如同身份和人之间的关系,他们是一一确定的。

  1. 单字段主键

单字段主键是由一个字段组成,他有两种方式来声明

【方式一】在声明列的同时就声明

CREATE TABLE tb

(

Id INT(11) PRIMARY KEY,

name VARCHAR(25),

……

);

【方式二】在声明创建表之后

CREATE TABLE tb

(

Id INT(11),

name VARCHAR(25),

……

PRIMARY KEY(id)

);

2.多字段联合主键

主键可以由多个字段来表是,例如在表中,没有主键id,为了确定某一条数据,可以用id、name联合起来作为一个主键。

CREATE TABLE tb

(

Id INT(11),

name VARCHAR(25),

……

PRIMARY KEY(id,name)

);

1.3)使用外键约束

外键用来在两个表的数据之间建立链接,他可以是一列或者多列。一个表可以有一个或者多个外键。外键对应的参考完整性,一个表的外键可以为空值,若为空值,则每一个外键值必须等于另一个表中主键的某个值。

外键:首先是一个字段,他可以不是本表的主键,但一定是对应另一个表的主键。定义外键后,不允许删除在另一个表中具有关联关系的行。外键的作用是保护数据的一致性和完整性。

主表:对于两个相关联的表,相关字段主键所在的表为主表

子表:对于两个想关联的表,相关字段外键所在的表为子表。

语法:

[CONSTRAINT <外键名>] FOREIGN KEY 字段名1 [,字段名2……]

PEFERENCES <主表名> 主键列1 [,主键列2……]

外键名为定义的外键约束的名称,一个表中不能有相同名称的外键。

例如:

创建表1:

CREATE TABLE tb_1

(

Id INT(11) PRIMARY KEY,

name VARCHAR(25),

……

);

创建表2:

CREATE TABLE tb_2

(

Id INT(11) PRIMARY KEY,

name VARCHAR(25),

deptId INT(11),

……

CONSTRAINT fk FOREIGN KEY(deptId) REFERENCES tb_1(id)

);

以上表示表2中添加了名称为fk的外键约束,字段名称为deptId,依赖于表1中的id。

1.4)使用非空约束

非空约束指的是字段的值不能为空。对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库就会报错

语法:字段名 数据类型 NOT NULL

CREATE TABLE tb_1

(

Id INT(11) PRIMARY KEY,

name VARCHAR(25) NOT NULL,

……

);

1.5)使用唯一性约束

设置了唯一性约束的一列或者多列,该列的值都是唯一的,不会出现相同的值,可以为空但只能出现一次。

语法:字段名 数据类型 UNIQUE

在定义完列后就直接指定;也可以 CONSTRAINT STH UNIQUE(name,其他)

一个表中可以由多个表声明UNIQUE但是只能有一个PRIMARY KEY

1.6)使用默认约束

指定某列为默认值,例如男生较多,性别默认为男,当插入一条新的语句为这个字段赋值,那么系统就会赋值新的,否则还是男。

语法:字段名 数据类型 DEFAULT 默认值

1.7)设置表的属性自增

可以通过AUTO_INCREMENT关键字来实现自增,表中只能一个字段使用,默认从1开始,可以使用在任何的整数类型中(TINYINT、SMALLIN、INT、BIGINT等)

  1. 查看数据表结构

2.1)查看表的基本结构

DESCRIBE/DESC可以用来查看表的字段信息、数据类型、是否为主键、是否为外键、是否可以为空、是否默认值等。

语法:DESCRIBE 表名

或者 可以缩写为 DESC 表名。

2.2)查询表详细结构语句

SHOW CREATE TABLE 表名\G;

3.修改数据表

3.1)修改表名

语法:ALTER TABLE 旧表名 RENAME 新表名

3.2)修改字段的数据类型

语法:ALTER TABLE 表名 MODIFY 字段名 修改的数据类型

如:ALTER TABLE tb_1 MODIFY name INT(11);

3.3)修改字段名

语法:ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型

数据类型可以修改也可以不修改

3.4)添加字段

随着业务的需求的变化,可能会在已经存在的表中,添加一个字段。

1.添加无完整性约束条件的字段

语法:ALTER TABLE 表名 ADD 新字段 数据类型

例如:ALTER TABLE tb_1 ADD managerId INT(10);

2.添加有完整性约束的字段

语法:ALTER TABLE 表名 ADD 新字段 数据类型 约束

例如:ALTER TABLE tb_1 ADD managerId INT(10) not null;

3.在表中的第一列添加字段 FIRST

语法:ALTER TABLE tb_1 ADD managerId INT(10) FIRST

4.在表中的指定列之后添加一个字段

语法:ALTER TABLE tb_1 ADD managerId INT(10) AFTER name

在name之后的一列添加

3.5)删除字段

语法:ALTER TABLE 表名 DROP 字段名

3.6)修改表字段的排列位置

1.修改字段为表的第一个字段

ALTER TABLE tb_1 MORIFY name INT(11) FIRST;

将name字段修改为表中第一字段

2.修改字段为表的指定列之后

ALTER TABLE tb_1 MORIFY name INT(11) AFTER id;

将name放在id之后

3.7)更改表的存储引擎

语法:ALTER TABLE 表名 ENGINE=修改后的引擎名

3.8)删除外键约束

语法:ALTER TABLE 表名 DROP FOREIGN KEY 外键约束名

4.删除数据表

1.删除没有关联的表

语法:DROP TABLE IF EXISTS 表1,表2…..

IF EXISTS判断表是否为空

2.删除有关联的表

如果直接删除,结果会显示失败。可以选择先删除子表,在删除父表。如果只删除父表,可以取消外键约束,在删除。

-————20180919周三下午 图书馆

发表评论

表情:
评论列表 (有 0 条评论,356人围观)

还没有评论,来说两句吧...

相关阅读

    相关 数据表基本操作

    数据表的基本操作   在数据库中,数据表是数据库中最重要、最基本的操作对象,是数据储存的基本单位。数据表被定义为列的集合,数据在表中是按照行和列的格式来储存的,每一行代表一