SQL强化 Day03

1. MySQL表数据类型

请参照
MySQL 数据类型

2. SQL语句创建表

2.1 创建表
语法:
use 数据库;
create table 表名(属性名 数据类型 [完整性约束],
属性名 数据类型 [完整性约束],

)
事例:
在这里插入图片描述2.2 创建表的主键

主键:特殊的字段,能够唯一标识每条记录,不能重复
目的:为了让 MySQL 能以最快的速度查找到该记录
创建:
单字段主键:
语法:属性名 数据类型 primary key
例子:

创建表的主键
多字段主键
语法:primary key(属性 1…属性 n)
例子:
多字段主键
2.3 创建表的外键

外键:与父表建立关系的字段
原则:必须依赖于父表已存在的主键
目的:保证数据的完整性
Astu_id 1001
B stu_id score 1001 90
语法:constraint 外键别名 foreign key(字段 1.1,字段 1.2) references 主表名(字段 2.1,字段 2.2)
字段 2–>主表的主键列
例子:
外键 2.4 创建表的相关完整性约束
1、非空约束
语法:属性名 类型 not null
2、唯一约束
语法:属性名 类型 unique
3、自增长
语法:属性名 类型 auto_increment
(要求:类型必须是整型)
(注意:如果插入到最后一个标识为 7,删除掉后这个”7”后,后续则从 8 开始)
4、默认值
语法:属性名 类型 default 默认值
相关完整性约束

2.5 查看表结构
1、基本结构:
语法:describe 表名
可简写:desc 表名
例子:
在这里插入图片描述在这里插入图片描述2、详细结构:
语法:show create table 表名
例子:
在这里插入图片描述详细结构美化:在语句后加上 \G(PS:一定要是大写的 G)
在这里插入图片描述

3. 用SQL语句向表中添加数据

3.1 为表的所有字段插入数据

insert 语句不指定字段名
例子在这里插入图片描述3.2 insert 语句列出所有字段

例子
在这里插入图片描述

3.3 为表的指定字段插入数据

例子
在这里插入图片描述

3.4 为表同时插入多条数据

语法:insert into 表名 values(…),(…),(…)
例子:
在这里插入图片描述在这里插入图片描述3.5 将查询结果插入到表内

语法:insert into 表 1 (字段列表 1) select 字段列表 2 from 表 2
例子:
在这里插入图片描述

4. 用SQL语句删除表

4.1 删除表中已有数据

语法:
delete from 表名 [where 条件表达式]

现有数据:
在这里插入图片描述例子:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

关于DELETE,DROP, TRUNCATE 的实现和区别,将在之后另外发布博客。

5. SQL 修改表

5.1 修改表名

1.use 数据库名;
语法:alter table 旧表名 rename [to] 新表名
查看当前数据库下所有的表
语法:show tables;
例子:
在这里插入图片描述
在这里插入图片描述
5.2 修改字段

语法:alter table 表名 change 旧属性名 新属性名 新属性类型
1.修改字段类型
在这里插入图片描述
2.修改字段名和类型
在这里插入图片描述
5.3 新增字段
语法:alter table 表名 add 新属性名 新属性类型 [完整性约束] [first | after 原有字段]
1.新增无完整性约束的字段
在这里插入图片描述
2.新增有完整性约束的字段
在这里插入图片描述
3.将字段添加到第一位
在这里插入图片描述
4.将字段添加到某个字段之后
在这里插入图片描述5.4 删除字段

语法:alter table 表名 drop 属性名

在这里插入图片描述
5.5 修改字段排列顺序

1.将字段修改到首位
语法:alter table 表名 modify 属性名 属性类型 [完整性约束] [first]
在这里插入图片描述
2.将字段修改到指定位置
语法:alter table 表名 modify 属性名 属性类型 [完整性约束] [after 原有字段]
在这里插入图片描述5.6 删除外键

语法:alter table 表名 drop foreign key 外键名
在这里插入图片描述

6. 练习项目

6.1 超过 5 名学生的课(难度:简单)
在这里插入图片描述
SQL:
在这里插入图片描述6.2 交换工资(难度:简单)
在这里插入图片描述在这里插入图片描述当要执行 update 时,如果报错:
Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect.
这是因为 MySql 运行在 safe-updates 模式下,该模式会导致非主键条件下无法执行 update 或者delete 命令,执行命令 SET SQL_SAFE_UPDATES = 0; 修改下数据库模式
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/whisky_12/article/details/88067651
今日推荐