MySQL表基本操作

MySQL表基本操作

表是数据库中基本的操作对象,是数据存储的基本单位。表中的数据是按行和列来存储的,每一行代表一条数据。

创建数据表

创建表之前需要指定操作的数据库,表是存在数据库内的。使用 USE 命令指定库

USE my_db;

如果不指定数据库会抛出 No database selected 的错误
创建数据表语法:

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

创建表的名称不区分大小写,不能使用SQL的关键字例如,CREATE、DROP 等。

使用主键约束

主键约束(Primary Key Constraint)要求主键列的数据唯一。主键可以是一个字段也可以是多个字段。

字段名 数据类型 PRIMARY KEY [默认值];

主键的创建也可以放在定义完所有列之后

[CONSTRAINT<约束名>] PRIMARY KEY [字段名]

外键约束

外键约束用来在两个表之间建立连接,可以是一列或者多列。一个表可以有一个或多个外键。外键在实际开发中一般很少使用,原因是数据库操作会变得复杂,所以一般采用通过程序控制而不是用外键约束。

[CONSTRAINT<外键名>] FOREIGN KEY 字段名1 [,字段名2,...] REFERENCES <主表名> 主键列1 [,主键列2...];

外键名表示定义外键约束的名称,一个表不能有相同名称的外键。字段名表示子表需要添加外键约束的字段列;主表名表示被子表外键所依赖的表名称;主键列表示主表中定义的主键列。

非空约束

非空约束表示字段不能为空,当插入入空值时会抛出异常。

字段名 数据类型 not null;

唯一约束

唯一约束表示要求该列唯一,允许为空但只能有一个。

字段名 数据类型 UNIQUE

使用默认约束

默认约束表示当差新字段时给出默认值

字段名 数据类型 DEFAULT 默认值

属性自增

当希望自动生成字段值时可以使用主键自增,每新加一条数据字段自动加1。一个表中只能由一个字段使用自增,且该字段必须为主键的一部分。自增约束字段可以是任何整数类型。

字段名 数据类型 AUTO_INCREMENT

查看数据表结构

使用DESCRIBE可以查看表的字段信息。包括字段名、数据类型、是否为主键、是否有默认值等。

DESCRIBE 表名;

可以简写为

DESC 表名;

查看详细表结构

使用 SHOW CREATE TABLE 语句可以用来显示创建表时使用的语句

SHOW CREATE TABLE <表名\G>;

\G参数表示格式化展示内容,为可选项。

修改表结构

修改表结构使用 ALTER TABLE 常用的改表操作有:修改表名、字段名、字段数据类型、增加或删除字段、修改字段排列位置、更改表的搜索引擎、删除表的外键约束等。

修改表名

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

修改字段数据类型

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

修改字段名

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

添加字段

ALERT TABLE <表名> ADD <新字段名> <数据类型>
[约束条件] [FIRST | AFTER 已存在字段名];

删除字段

ALTER TABLE <表名>  DROP <字段名>;

修改字段排列位置

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

修改表存储引擎

ALTER TABLE <表名> ENGINE=<更改后的存储引擎名>;

删除表的外键约束

ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>

删除数表

DROP TABLE [IF EXISTS]1,2,...表n;

DROP TABLE 可以一次删除一个或多个没有被其他表关联的数据表。如果存在外键的情况下,直接删除主表会显示失败,可以先删除外键约束再删除表。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值