目录
hello! 这里是欧_aita的频道。
今日语录: 只有放弃才是真正的失败。
祝福语:愿你的代码生活充满注释,逻辑清晰,debug之路畅通无阻。
大家可以在评论区畅所欲言,可以指出我的错误,在交流中共同进步。
欢迎关注我的专栏
数据结构与算法
C++
MySQL数据库
SQL
SQL
SQL的特点:
SQL通用语法
SQL分类
DDL
DDL-数据库操作
DDL-表操作
查询
创建
数据类型
DML
1.添加数据(INSERT)
2.修改数据(UPDATE)
3.删除数据(DELETE)
DQL
DQL-基本操作
查询多个字段
设置别名
去除重复记录
DQL-语法
条件查询
(1)条件符号
(3)聚合函数
( 4)常见聚合函数
2.分组查询
(1)语法
(2)Where和having的区别
(3)注意事项
3.排序查询
(1)语法
(2)排序方式
4.分页查询
执行顺序
DCL
1.DCL-管理用户
(1)查询用户
(2)删除用户
(3)修改用户密码
(4)创建用户
2.DCL-权限控制
(1)常用权限
(2)查询权限
(3)授予权限
(4) 撤销权限
定义:SQL(Structured Query Language,结构化查询语言)是一种用于管理和操作关系型数据库的标准化语言。它提供了一种简单而强大的方式,使用户能够定义、操作和控制数据库中的数据。
关系型数据库: SQL主要用于关系型数据库管理系统(RDBMS)。关系型数据库是一种以表格形式组织数据的数据库,其中数据通过表格之间的关系进行连接。
数据操作: SQL允许用户执行各种数据操作,包括插入(INSERT)、查询(SELECT)、更新(UPDATE)和删除(DELETE)等操作。这些操作使用户能够有效地管理数据库中的数据。
数据定义: SQL不仅可以用于操作数据,还可以用于定义数据库结构。这包括创建表(CREATE TABLE)、定义索引(CREATE INDEX)和定义约束(如主键、外键等)等。
数据控制: SQL还提供了对数据访问的控制,通过GRANT和REVOKE等命令可以授予或撤销用户对数据库对象的权限。
事务控制: SQL支持事务,通过BEGIN TRANSACTION、COMMIT和ROLLBACK等语句,可以确保在数据库操作中的一系列语句要么全部执行成功,要么全部失败。
(1)单行注释:--注释内容 或 #注释内容(MySQL特有)。
(2)多行注释:/*注释内容*/
定义:DDL(Data Definition Language,数据定义语言)是用于定义和管理数据库结构的SQL语言部分,包括创建、修改和删除表、索引等数据库对象。
![[MySQL-基础]SQL语句,第1张 [MySQL-基础]SQL语句,第1张](/upload/website_attach/202312/1_2NDAPCNQSC2X33NB.jpeg)
![[MySQL-基础]SQL语句,第2张 [MySQL-基础]SQL语句,第2张](/upload/website_attach/202312/1_GCD2TV7W83MJ2UUS.jpeg)
![[MySQL-基础]SQL语句,第3张 [MySQL-基础]SQL语句,第3张](/upload/website_attach/202312/1_Q2HKZ4CDZ34E9WRZ.jpeg)
CREATE TABLE 表名(
字段1 字段1类型[COMMENT 字段1注释],
字段2 字段2类型[COMMENT 字段2注释],
字段3 字段3类型[COMMENT 字段3注释],
……
字段n 字段n类型[COMMENT 字段n注释]
)[COMMENT 表注释];
创建一个员工表
![[MySQL-基础]SQL语句,第5张 [MySQL-基础]SQL语句,第5张](/upload/website_attach/202312/1_2UCJNN7KZZM32EPX.jpeg)
MySQL中的数据类型有很多,主要分三类:数值类型、字符串类型、日期时间类型
修改
定义:DML(Data Manipulation Language,数据操作语言)是SQL的一部分,用于执行数据库中的数据操作,包括插入、更新、删除和查询等操作。
--给指定字段添加数据
(1)INSERT INTO表名(字段1,字段2,…)VALUES(值1,值2,…);
--给全部字段添加数据
(2)INSERT INTO表名VALUES(值1,值2,…);
--批量添加数据
(3)INSERT INTO表名(字段1,字段2,…)VALUES(值1,值2,…),(值1,值2,…);
添加员工信息
![[MySQL-基础]SQL语句,第6张 [MySQL-基础]SQL语句,第6张](/upload/website_attach/202312/1_JS57MQDAU6UFN7GY.jpeg)
(4)INSERT INTO表名VALUES(值1,值2,…),(值1,值2,…),(值1,值2,…);
UPDATA 表名 SET 字段名1=值1,字段名2=值2,…[WHERE 条件];
DELETE FROM 表名[WHERE 条件];
![[MySQL-基础]SQL语句,第7张 [MySQL-基础]SQL语句,第7张](/upload/website_attach/202312/1_NCP9WVN3ZAGMB5UY.jpeg)
定义:DQL(Data Query Language,数据查询语言)是SQL的一部分,专注于执行数据库中的查询操作,主要包括SELECT语句用于检索数据。
这是取别名的操作
![[MySQL-基础]SQL语句,第8张 [MySQL-基础]SQL语句,第8张](/upload/website_attach/202312/1_DZGDRVFS67DDPGVY.jpeg)
这是去除重复记录的操作
![[MySQL-基础]SQL语句,第9张 [MySQL-基础]SQL语句,第9张](/upload/website_attach/202312/1_RECF5E8AJX2CYJPD.jpeg)
1. SELECT字段列表FROM表名WHERE条件列表;
实际应用
![[MySQL-基础]SQL语句,第10张 [MySQL-基础]SQL语句,第10张](/upload/website_attach/202312/1_4BQGPZWZ5764U6PH.jpeg)
![[MySQL-基础]SQL语句,第11张 [MySQL-基础]SQL语句,第11张](/upload/website_attach/202312/1_CFCU8GKZQMHXSAKZ.jpeg)
介绍:将一列数据作为整体,进行纵向计算。
![[MySQL-基础]SQL语句,第12张 [MySQL-基础]SQL语句,第12张](/upload/website_attach/202312/1_AJAAAGAK2PMWSYS4.jpeg)
注意: 所有null值不计入聚合函数计算
查询名字为两个字的员工(使用like __下划线占位符)
![[MySQL-基础]SQL语句,第13张 [MySQL-基础]SQL语句,第13张](/upload/website_attach/202312/1_GVAK9KRQDYJ43KBH.jpeg)
![[MySQL-基础]SQL语句,第14张 [MySQL-基础]SQL语句,第14张](/upload/website_attach/202312/1_GN2FS4BRY3DF3FRG.jpeg)
![[MySQL-基础]SQL语句,第15张 [MySQL-基础]SQL语句,第15张](/upload/website_attach/202312/1_PG9MZ5W5BGSUH2VP.jpeg)
![[MySQL-基础]SQL语句,第16张 [MySQL-基础]SQL语句,第16张](/upload/website_attach/202312/1_5375PHDTH8WGWJWV.jpeg)
注意:如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序。
SELECT字段列表FROM表名LIMIT起始索引,查询记录数;
注意:
查询开始的6个员工信息,1页
![[MySQL-基础]SQL语句,第17张 [MySQL-基础]SQL语句,第17张](/upload/website_attach/202312/1_XKH2AHG3PT8KZPY7.jpeg)
![[MySQL-基础]SQL语句,第18张 [MySQL-基础]SQL语句,第18张](/upload/website_attach/202312/1_YKTN2FWHGZ5AZ6GQ.jpeg)
定义:DCL(Data Control Language,数据控制语言)是SQL的一部分,用于管理数据库访问权限,包括授予(GRANT)和撤销(REVOKE)用户对数据库对象的权限。
![[MySQL-基础]SQL语句,第19张 [MySQL-基础]SQL语句,第19张](/upload/website_attach/202312/1_SY4VW8HP6VQSRQNR.jpeg)
可以看见对应的数据表呈现出来了![[MySQL-基础]SQL语句,第20张 [MySQL-基础]SQL语句,第20张](/upload/website_attach/202312/1_5MZAWDC9WZZ677AC.jpeg)
![[MySQL-基础]SQL语句,第21张 [MySQL-基础]SQL语句,第21张](/upload/website_attach/202312/1_HSRB2CUYQ47R7RJY.jpeg)
![[MySQL-基础]SQL语句,第22张 [MySQL-基础]SQL语句,第22张](/upload/website_attach/202312/1_8ZPUJ2WU2VS55RFE.jpeg)
通过终端重新进入看密码是否改为123
![[MySQL-基础]SQL语句,第23张 [MySQL-基础]SQL语句,第23张](/upload/website_attach/202312/1_JFPY3XSBNBJXT38J.jpeg)
成功登录,说明密码成功修改!
![[MySQL-基础]SQL语句,第24张 [MySQL-基础]SQL语句,第24张](/upload/website_attach/202312/1_VT2N2J57WTDU6TW7.jpeg)
![[MySQL-基础]SQL语句,第25张 [MySQL-基础]SQL语句,第25张](/upload/website_attach/202312/1_28Z9FJVJPWW5HK92.jpeg)
注意:
![[MySQL-基础]SQL语句,第26张 [MySQL-基础]SQL语句,第26张](/upload/website_attach/202312/1_JCHF7373F2594JQV.jpeg)
![[MySQL-基础]SQL语句,第27张 [MySQL-基础]SQL语句,第27张](/upload/website_attach/202312/1_D8EHG3ZXKTE3NFRT.jpeg)
可以看见itcast用户的权限
![[MySQL-基础]SQL语句,第28张 [MySQL-基础]SQL语句,第28张](/upload/website_attach/202312/1_H9ZQXRNNH9YMGYBW.jpeg)
![[MySQL-基础]SQL语句,第29张 [MySQL-基础]SQL语句,第29张](/upload/website_attach/202312/1_7V8TDCPMN8VBATGA.jpeg)
![[MySQL-基础]SQL语句,第30张 [MySQL-基础]SQL语句,第30张](/upload/website_attach/202312/1_PESW497N2839E2WB.jpeg)
注意:
多个权限之间,使用逗号分隔。
授权时,数据库名和表名都可以使用*进行统配,代表所有。