MySQL_2_数据表的基本操作和表的约束

本文介绍如何在数据库中创建、查看、修改和删除数据表,并详细解释了各种表约束的作用及用法,帮助读者掌握基本的数据库表管理技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 数据表的基本操作

1.1 创建数据表

(1)在操作数据表之前,应该使用 USE 数据库名; 指定操作在哪个数据库中进行。

(2)语句:

CREATE TABLE 表名

(

字段名1,数据类型 [完整性约束条件],

字段名2,数据类型 [完整性约束条件],

……

字段名n,数据类型 [完整性约束条件],

)

(3)“表名”指的是创建的数据表名称,“字段名”指的是数据表的列名,“完整性约束条件”指的是字段的某些约束条件。

1.2 查看数据表

1.2.1 SHOW CREATE TABLE 表名;

(1)不仅可以查看创建表的定义语句,还可以查看表的字符编码。

(2)在表名后加上参数"\G",可以使显示结果整齐美观。(例:tb_grade表,写成"tb_grade",也可以写成"tb_grade\G")

1.2.2 DESCRIBE 表名;   或者    DESC 表名;

(1)查看表的字段信息,其中包括字段名、字段类型等信息。

(2)字段:

字段名含义
NULL表示该列是否可以存储NULL值
Key表示该列是否已经编制索引
Default表示该列是否有默认值
Extra表示获取到的与给定列相关的附加信息

1.3 修改数据表

1.3.1 修改表名

ALTER TABLE 旧表名 RENAME [TO] 新表名;

注:[TO] 是可选的,出现与否都可以。

1.3.2 修改字段名

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;

注:“新数据类型”不能为空。

1.3.3 修改字段的数据类型

ALTER TABLE 表名 MODIFY 字段名 数据类型;

1.3.4 添加字段

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

[约束条件] [FIRST|AFTER 已存在字段名]

注:

"FIRST"为可选参数,用于将新添加的字段设置为第一个字段
"AFTER"也为可选参数,用于将新添加的字段添加到指定的"已存在字段名"的后面

1.3.5 删除字段

ALTER TABLE 表名 DROP 字段名;

1.3.6 修改字段的排列位置

ALTER TABLE 表名 MODIFY 字段名1 数据类型 FIRST|AFTER 字段名2

注:

"字段名1"指的是修改位置的字段
"FIRST"为可选参数,指的是将字段1修改为表的第一个字段
"AFTER 字段名2"是将字段1插入到字段2的后面

1.4 删除数据表——删除没有关联关系的数据表

DROP TABLE 表名;

2 表的约束——防止数据表中插入错误数据、维护数据库完整性的规则

约束条件说明
PRIMARY KEY主键约束,用于唯一标识对应的记录
FOREIGN KEY外键约束
NOT NULL非空约束
UNIQUE唯一性约束
DEFAULT默认值约束,用于放置字段的默认值

注:(1)表中列举的约束条件都是针对表中字段进行限制,从而保证数据表中数据的正确性和唯一性。

(2)由于FOREIGN KEY约束条件涉及多表操作,因此,本文只针对FOREIGN KEY外的其他约束进行详细的讲解。

2.1 主键约束——唯一标识表中的记录

注:每个数据表中最多只能有一个主键约束,定义为 PRIMARY KEY 的字段不能有重复值且不能为 NULL 值。

2.1.1 单字段主键——由一个字段构成的主键

字段名 数据类型 PRIMARY KEY

2.1.2 多字段主键——多个字段组合而成的主键

PRIMARY KEY (字段名1,字段名2,…,字段名n)

上述格式中,"字段名1,字段名2,…,字段名n"指的是构成主键的多个字段的名称。

2.2 非空约束——字段的值不能为 NULL

字段名 数据类型 NOT NULL;

注:在同一个数据表中可以定义多个非空字段。

2.3 唯一约束——保证字段的唯一性,即表中字段的值不能重复出现

字段名 数据类型 UNIQUE;

2.4 默认约束——给数据表中的字段指定默认值

即当表中插入一条新纪录时,如果没有给这个字段赋值,那么,数据库系统会自动为这个字段插入默认值。

字段名 数据类型 DEFAULT 默认值;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值