mysql 数据表的基本操作

一、创建数据表

1.1 创建数据表

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

1.2 使用主键约束

1.2.1 单字段主键约束

-- 在定义列的同时指定主键
-- 字段名 数据类型 primary key[默认值]
create table test(
	id INT(11) primary key,
	name VARCHAR(25)
);
-- 在定义完所有列之后指定主键
-- [constraint <约束名>] primary key(字段名)
create table test(
	id INT(11),
	name VARCHAR(25),
	primary key(id)
);

1.2.2 多字段联合主键

-- primary key[字段1,字段2...]
create table test(
	id INT(11),
	name VARCHAR(25),
	age INT(11),
	primary key(id, name)
);

1.3 使用外键约束

[constraint <外键名>] foreign key(字段名1[, 字段名2,...]) references (<主表名> 主键列1[,主键列2,...])

1.4 使用非空约束

-- 字段名 数据类型 not null
create table test(
	id INT(11),
	name VARCHAR(25) not null,
	age INT(11),
	primary key(id, name)
);

1.5 使用唯一约束

唯一性约束(Unique Constraint)要求该列值唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或几列不出现重复值。

-- 字段名 数据类型 UNIQUE
create table test(
	id INT(11),
	name VARCHAR(25) UNIQUE,
	age INT(11),
	primary key(id, name)
);

1.6 使用默认约束

-- 字段名 数据类型 default 默认值
create table test(
	id INT(11) primary key,
	name VARCHAR(25) default 'pwx'
);

1.7 设置自动增长

-- 字段名 数据类型 auto_increment
create table test(
	id INT(11) primary key,
	name VARCHAR(25) default 'pwx',
	age INT(11) auto_increment
);
二、查看数据表结构

2.1 查看数据库中所有表

show tables;

2.2 查看表基本结构

describe 表名;
-- 简写
desc 表名;

2.3 查看表详细结构语句

show create table 表名\G;
三、修改数据表

3.1 修改表名

alter table 旧表名 rename [to] 新表名;

3.2 修改字段的数据类型

alter table 表名 modify 字段名 数据类型;

3.3 修改字符名

alter table 表名 change 旧字段名 新字段名 新数据类型;

3.4 添加字段

alter table 表名 add 新字段名 数据类型 [约束条件][first|after 已存在的列名];

3.5 删除字段

alter table 表名 drop 字段名;

3.6 修改字段的排列位置

3.6.1 修改字段为表的第一个字段

alter table 表名 modify 列名 数据类型 first;

3.6.2 修改字段到表的指定列之后

alter table 表名 modify 列名 数据类型 after 已存在的列名;

3.7 更改表的存储引擎

alter table 表名 engine=更改后的存储引擎名;

可以使用show engines\G;查看系统所支持的引擎类型。

3.8 删除表的外键约束

alter table 表名 drop foreign key 外键约束名;
四、删除数据表

4.1 删除没有被关联的表

drop table [if exists]1,2...;

4.2 删除被其他表关联的主表

数据表之间存在外键关联的情况下,如果直接删除父表,结果会显示失败。原因是直接删除, 将破坏表的参照完整性。如果必须要删除,可以先删除与它关联的子表,再删除父表,只是这样同时删除了两个表中的数据。但有的情况下可能要保留子表,这时如要单独删除父表,只需将关联的表的外键约束条件取消,然后就可以删除父表

-- 先删除子表中的外键约束,可能有多个
alter table 子表名 drop foreign key 外键约束名;
-- 删除主表
drop table 主表名;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

书香水墨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值