数据库基本操作

一、SQL语句管理

DDL 数据定义操作 创建 比如表 库 索引

DML 数据操纵 用来插入 删除修改 数据库中的数据

DQL 数据查询 查找符合条件的数据记录

DCL 数据控制 设置后缀更改数据库用户和角色权限

二、常用的数据类型

数据类型含义
int整型
float单精度浮点型 4字节32位
double双精度浮点型 8字节64位
char固定长度的字符类型
varchar可变长度的字符类型
text文本
image图片
decimal(5,2)5个有效长度数字,小数点后面有2位

三、基本操作

1. 查看当前服务器中的数据库

show databases;

image-20230711140542754

2. 创建新的数据库

create database test1sql;

image-20230711141803162

3. 在数据库中创建新的数据表

主键一般选择能代表唯一性的字段不允许取空值(NOLL),一个表只能有一个主键。

create table 表名 (primary key (主键名),字段1 数据类型, 字段2 数据类型);

# 查看存在的数据库
show databases;

# 使用这个数据库
use test1sql;

# 创建数据表
create table test1tab (id int NOT NULL,name char(5) NOT NULL,age int NOT NULL,salary double NOT NULL);
# 注:这条命令没加主键,加主键使用此条
create table test1tab (id int NOT NULL,name char(5) NOT NULL,age int NOT NULL,salary double NOT NULL,primary key (id));

# 查看存在的数据表
show tables;

# 查看指定的数据表的属性
desc test1tab;

image-20230711144735135

4. 向数据表中插入数据记录

# 查看数据表中的属性
desc test1tab;

# 插入数据记录
insert into test1tab (id,name,age,salary) values(1,'员工1',23,18888);
insert into test1tab (id,name,age,salary) values(2,'员工2',24,19999);
insert into test1tab (id,name,age,salary) values(3,'员工3',24,20000);

# 查看表中所有的数据记录
select * from test1tab;

image-20230711153022280

5. 查看表中所有数据记录

select * from test1tab;

image-20230711154649933

6. 按字段查找数据表中的记录

select name,salary from test1tab;

image-20230711155617722

7. 查找数据表中指定的记录

select * from test1tab where id=2;

image-20230711160626036

8. 查找指定记录的指定字段

select name,salary from test1tab where id=2;

image-20230711161014465

9. 按记录范围进行查找

# 查看表中前两行记录
select * from test1tab limit 2;

# 查看第1行之后的前两行
select * from test1tab limit 1,2;

image-20230711161357661

10. 删除表

删除速度

drop> truncate > delete

安全性

delete 最好

(1)drop
drop table table_name;

TRUNCATE清空表后,没有返回被删除的条目:TRUNCATE 工作时是将表结构按原样重新建立,
因此在速度上TRUNCATE会比DELETE清空表快;使用TRUNCATE TABLE 清空表内数据后,
ID会从1开始重新记录

① 删除速度快

② 表和内容和结构删除

③ 不可以带 where

④ 不可以回滚(无法恢复)

⑤ 属于 DDL

实例:

drop table test1tab;

image-20230713194314618

(2)truncate
truncate table table_name;

TRUNCATE清空表后,没有返回被删除的条目: TRUNCATE 工作时是将表结构按原样重新建立,因此在速度上TRUNCATE会比DELETE清空表快;使用TRUNCATE TABLE 清空表内数据后,ID会从1开始重新记录

① 删除速度快

② 表的内容删除

③ 不可以带 where

④ 不可以回滚(无法恢复)

⑤ 属于 DDL

实例:

truncate table test1tab;

image-20230713192336012

(3)delete
delete from table_name;

DELETE清空表后,返回的结果内有删除的记录条目;

DELETE 工作时是一行一行的删除记录数据的;如果表中有自增长字段,使用DELETE FROM 删除
所有记录后,再次新添加的记录会从原来最大的记录ID后面继续自增写入记录。

① 删除速度慢,需要逐行删除

② 表结构在,表内容要看 where 执行的情况

③ 可以带 where

④ 可以回滚(可恢复)

⑤ 属于 DML

应用场景

① 不在需要一张表的时候 用 drop

② 想删除部分数据行的时候,用delete并且加上where字句

③ 保留表而删除所有数据的时候用 truncate

实例:

delete from test1tab;

image-20230713191655970

11. 修改 更新数据表中的数据记录

格式:

update 表名 set 字段1=字段值1 where 条件表达式;

实例:

将 id为3的age更新为25

update test1tab set age=25 where id=3;

12. 在数据表中删除指定的数据记录

格式:

delete from 表名 where 表达式;

实例:

将 id为3的数据记录删除

delete from  test1tab where id=3;

image-20230712153937312

13. 修改表名

格式:

alter table 旧表名 rename 新表名;

实例:

将表名 test1tab 改为 testtab1

alter table test1tab rename testtab1;

image-20230712154931644

14. 扩展表结构

增加字段

格式:

alter table 表名 add 新增字段 数据类型 属性;

实例:

向 testtab 表中增加字段 phone,数据类型为 char(11)

alter table testtab1 add phone char(11) not null;

image-20230712160226018

15. 修改表中字段添加唯一键

格式:

unique key 是添加唯一键

alter table 表名 change 旧列名 新列名 数据类型 unique key;

实例:

将testtab1中的age字段改为ages,并将其设置为唯一键

alter table testtab1 change age ages int(3) unique key;

image-20230712190527361

16. 删除表中字段

格式:

alter table 表名 drop 字段名;

实例:

将testtab1表中的phone字段删除

alter table testtab1 drop phone;

image-20230712191504987

17. 检查表是否存在

if not exists 是检查表是否存在

create table if not exists testtab (1 数据类型,2 数据类型);

表示检测要创建的表是否已存在,如果不存在就继续创建

18. int数据类型自动填充

int(4) zerofill

表示若数值不满4位数,则前面用"0"填充,例0001

20. 自增字段

int(4) auto_increment

21. 复制表结构

create table testtab2 like testtab1;

image-20230714164030981

22. 复制表中记录

image-20230713190522569

23. 克隆表

表结构和表记录都复制

create table testtab3 (select * from testtab1);

image-20230713190951823

24. 创建临时表

临时表创建成功之后,使用SHOWTABLES命令是看不到创建的临时表的,临时表会在连接退出
后被销毁。

如果在退出连接之前,也可以可执行增删改查等操作,比如使用DROP TABLE语句手动直接删除
临时表。

可做测试环境使用 比如删除大量数据的时候,可以创建临时表 做一个复杂删除

PS:无法创建外键

create temporary table test1tab (id int(4) zerofill primary key auto_increment, name varchar(10) not null, hobby varchar(50));

image-20230714162914811

退出 MySQL 临时表消失

image-20230714164458130

25. 6种常见约束

约束名称
foreign key外键
not null非空约束
unique [key|index]唯一约束(键/索引)
default默认值约束
auto_increment自增约束
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值