MySQL学习-数据库创建-数据库增删改查语句-事务-索引

news/2024/10/28 18:23:16/

MySQL学习

前言

SQL是结构化查询语言的缩写,用于管理关系数据库(RDBMS)中的数据。SQL语言由IBM公司的Donald Chamberlin和Raymond Boyce于20世纪70年代开发而来,是关系型数据库最常用的管理语言。

使用SQL语言可以实现关系型数据库中的数据处理、数据查询、数据管理以及数据安全等操作。SQL语言具有代码简洁易读的特点,也能够支持多种不同的查询操作,如联合查询、嵌套查询和排序查询等。

SQL语言的基础语法主要包括数据定义语言(DDL)、数据操作语言(DML)、数据查询语言(DQL)和事务控制语言(TCL)等。在实际应用中,我们通常使用工具,如MySQL、Oracle和Microsoft SQL Server等,来进行SQL语言的操作。

总的来说,SQL语言在关系型数据库管理中起着至关重要的作用,是大量的数据管理工作不可或缺的一种工具。

  • 注意:

下面的SQL语句中 [ ]里的内容可看情况省略

1.DDL(数据库操作)

1.1 查询

1.1.1 查询所有数据库:

show databases;

1.1.2 查询当前数据库

select database();

1.2 使用

1.2.1 使用数据库

use 数据库名;

1.3 创建

1.3.1 创建数据库

create database 数据库名;

2.如果不存在才创建

create database if not exists 数据库名; 

1.4 删除

1.4.1 删除数据库

drop database 数据库名;

1.4.2 如果存在才删除

drop database if exists 数据库名;

2 DDL(表操作语言)

2.1 创建表

create table 表名(字段1 字段类型 [约束] [comment 字段1注释],……字段1 字段类型 [约束] [comment 字段2注释]
) [comment 表注释]

2.2 约束

  • 概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。
  • 目的:保证数据库中数据的正确性、有效性和完整性。

在这里插入图片描述

2.3 数据类型

2.3.1 数值类型

在这里插入图片描述

2.3.2 字符串类型

在这里插入图片描述

2.3.3 日期类型

在这里插入图片描述

2.4 查询

2.4.1 查询当前数据库的所有表

show tables;

2.4.2 查询表结构

desc 表名;

2.4.3 查询建表语句

show create table 表名;

2.5 修改

2.5.1 添加字段

alter table 表名 add 字段名 类型(长度)[comment 注释] [约束];

2.5.2 修改字段类型

alter table 表名 modify 字段名 新数据类型(长度);

2.5.3 修改字段名和字段类型

alter table 表名 change 旧字段名 新字段名 类型(长度)[comment 注释][约束];

2.5.4 删除字段

alter table 表名 drop column 字段名;

2.5.5 修改表名

rename table 表名 to 新表名;

2.5.6 删除表

drop table [if exists] 表名;

3 DML(数据操作语言)

3.1 insert语法

3.1.1 指定字段添加数据

inster into 表名 (字段1,字段2) values (值1,值2);

3.1.2 全部字段添加数据

insert into 表名 values (值1,值2,...);

3.1.3 批量添加数据(指定字段)

insert into 表名(字段名1,字段名2)values(值1,值2),(值1,值2);

3.1.4 批量添加数据(全部字段)

insert into 表名 values (值1,值2,....),(值1,值2,....)...;

3.2 delete语法

3.2.1 删除数据

delete from 表名 [where 条件]

3.3 update语法

3.3.1 修改数据

update 表名 字段1=值1,字段2=值2,……[where 条件]

4 DQL(数据查询语言)

4.1 DQL-基本查询

4.1.1 查询多个字段

selce 字段1,字段2,··· from 表名;

4.1.2 查询所有字段(通配符)

select * from 表名;

4.1.3 设置别名

select 字段1 as 别名1, 字段2 as 别名2,··· from 表名;

4.1.4 去除重复记录

select distinct 字段列表 from 表名;

4.2 DQL-条件查询

4.2.1 条件查询
select 字段列表 from 表名 where 条件;

在这里插入图片描述
在这里插入图片描述

4.3 DQL-聚合查询

4.3.1 聚合查询

select 聚合函数(字段) from 表名;

在这里插入图片描述

4.4 分组查询

4.4.1 分组查询

select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件]

eg1:根据性别分组,统计男性和女性员工的数量

select gender,count(*) from tb_emp group by gender;

eg2:先查询入职时间在‘2015-01-01’(包含)以前的员工,并对结果根据职位分组,获得员工数量大于等于2是的职位(分组后的条件要用having)

select job ,count() as 数量 from tb_emp where entrydate<=‘2015-01-01’
group by job having count(
) >=2;

4.4.2 流程控制语句

在这里插入图片描述
原数据:
在这里插入图片描述

eg1:if(条件,true,fasle)

select if(gender=1,'男','女') 性别, count(*) 数量 from 表名 group by gender; 

在这里插入图片描述

eg2:ifnull(字段,显示)

select name,ifnull(job,'未定义职业') 职业 from 表名;

在这里插入图片描述
eg3:case 字段,when 值1 then 显示1 when 值2 then 显示2 …else 显示 end

select name 姓名, case job when 1 then '班主任' when 2 then '讲师' when 3 then '学生' else '教官' end 职业 from 表名;

在这里插入图片描述

4.5 DQL-排序查询

4.5.1 条件查询

select 字段列表 from 表名 [where 条件列表] [group by 分组字段] order by 字段1 排序方式,字段2 排序方式 ;

排序方式

  • ASC 升序(默认)
  • DESC 降序

4.6 DQL-分页查询

4.6.1 分页查询

select 字段列表 from 表名 limit 起始索引,查询记录数;

5 多表查询

5.1 内连接查询 A∩B

5.1.1 隐式内连接

select 字段列表 from 表1,表2 where 条件...;

5.1.2 显式查询

select 字段列表 from 表1 [inner] join 表2 on 连接条件...;

5.2 外连接

5.2.1 左外连接 (A+A∩B)
select 字段列表 from 表1 left [outer] join 表2 on 连接条件;

5.2.2 右外连接 (B+A∩B)

select 字段列表 from 表1 right [outer] join 表2 on 连接条件...;

5.3 子查询

介绍:SQL语句中嵌套select语句,称为嵌套查询,又称子查询

select * from t1 where 字段 = (select 字段 from t2 ... );
select * from 表名 where (字段1,字段2) = (select 字段1,字段2 from 表名 [where 条件];

6 事务

6.1 概念

事务 是一组操作的集合,它是一个不可分割的工作单位。事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作 要么同时成功,要么同时失败。

6.2 事务控制

  • 开始事务
 start transaction;  或  begin ;
  • 提交事务
commit;
  • 回滚事务
rollback;

7 索引

7.1 概念

索引是帮助数据库高效获取数据的数据结构。

7.2 语法

7.2.1 创建索引

create [unique] index 索引名 on 表名(字段名,...);

7.2.2 查看索引

show index from 表名;

7.2.3 删除索引

drop index 索引名 on 表名;

7.2.4 注意事项

  • 主键字段,在建表时,会自动创建主键索引。
  • 添加唯一约束时,数据库实际上会条件唯一索引。

http://www.ppmy.cn/news/206821.html

相关文章

投影仪显示无法连接服务器失败怎么办,电脑和投影仪连不上怎么办

电脑和投影仪连不上怎么办 如今使用投影仪的朋友越来越多了,可是有时候看着别人能连上投影仪可是自己的电脑拿去插上后却连不上,这是怎么回事呢?这里简单分析一下吧! 首先我们在插上相关的数据线之后可以按快捷键FnF4进行连接,一般电脑的F4键是两个屏幕的形式,当然有的则是F3或…

买投影仪选当贝还是极米,哪个投影仪最好用

投影仪相比电视可以表现出来更大的画面&#xff0c;所以现在很多人都会考虑给家里买一个投影仪&#xff0c;日常看电视电影会有更好的体验。目前选择投影仪有很多品牌&#xff0c;实力强劲的有两个品牌&#xff0c;一个是当贝&#xff0c;另外一个是极米&#xff0c;很多人也都…

高流明投影仪品牌,这份投影仪行业数据告诉你答案

近期&#xff0c;据专业数据分析洛图科技6月《中国智能投影仪零售市场月度追踪》报告显示&#xff0c; 在618整体大促情况下&#xff0c;6月智能投影仪市场销量为38.4万台&#xff0c;同比增长36.4%&#xff0c;环比增长68.4%&#xff1b;上半年 智能投影仪累计销量达到172.3万…

使用record_msg保存binary点云出错解决办法

1. 问题现象 使用python的record_msg包解析record包时&#xff0c;会出现无法保存的报错。 Traceback (most recent call last): File “scripts/parse_record.py”, line 35, in main(sys.argv) File “scripts/parse_record.py”, line 32, in main cloud_parser.parse(mes…

家用投影仪品牌推荐,如何选择家用投影仪?

挑选高性价比投影仪&#xff0c;需要对比投影仪的硬件参数&#xff0c;再从硬件参数、价格这两个指标中挑出其中最高性价比的产品。目前市场上投影仪的需求很高&#xff0c;导致现在的投影仪商家品牌众多&#xff0c;各品牌又有各种机型的投影仪。 在这里我就先挑出三款&#x…

投影仪与计算机连接方式,电脑与接投影仪、显示器的连接和设置方法

如何通过VGA(或:HDMI、DisplayPort)接口,将电脑屏幕输出到投影仪或外接显示器上? 以下分别介绍了不同品牌显卡、不同版本的Windows系统下,如何设置外接显示设备为“复制模式”的操作方法。实际操作过程中,因为显卡驱动版本的差异,操作界面可能稍有不同。 一、Windows XP系…

投影仪哪个牌子好点?投影仪什么牌子性价比高

现在看电影不一定非要去电影院&#xff0c;在家里装一台投影仪也能有沉浸式体验的感觉。问题是现在投影仪牌子多&#xff0c;同样的价位搜出来好几款&#xff0c;而且属于不同的牌子&#xff0c;根本不知道投影仪哪个牌子好点。咱们先来看看参数&#xff0c;再去看投影仪牌子的…

投影仪哪家好? 家用什么牌子的投影仪最好

投影仪哪家好&#xff1f;虽说产品越贵&#xff0c;质量某种程度肯定会越高&#xff0c;但是在这个市场环境下&#xff0c;很多品牌要想突出重围&#xff0c;不被行业竞争”内卷”压垮&#xff0c;也容易涌现出很多质量好但是价格却非常“亲民”&#xff0c;性价比非常高的投影…