0
点赞
收藏
分享

微信扫一扫

<二>从0基础到中级DBA(MySQL篇)----------->SQL

Xin_So 2022-03-16 阅读 42
mysqlsqldba

目录

一、SQL

二、SQL分类

1.数据定义语言(DDL)---------Data Definition Language

        1.1 数据库操作

        1.2 数据表操作

2.数据操作语言(DML)---------Data Manipulation Language

3.数据查询语言(DQL)---------Data Query Language

        3.1 基础查询 

        3.2 条件查询

        3.3 聚合函数查询

        3.4 分组查询

        3.5 排序查询

        3.6 分页查询

        3.7  DQL总结

4.数据控制语言(DCL)---------Data Control Language

        4.1  管理用户

        4.2  权限控制

三、总结


一、SQL

首先我们来了解一下SQL的通用语法,

1、SQL语句可以单行或多行书写,它以分号结尾。(多行书写可以增加它的可读性)

2、SQL语句可以使用空格,或者缩进增强语句的可读性,

3、MySQL数据库的SQL语句不区分大小,但写关键字的时候建议使用大写

4、在写注释是可以使用:--或者#,多行注释使用/* */

二、SQL分类

在前面呢,我们介绍了SQL语句,他是操作关系型数据库的编程语言,它定义了一套操作关系型数据库的统一标准!接下来我们就学习一下我们所说的SQL语句,它的分类!

1.数据定义语言(DDL)---------Data Definition Language

        DDL是数据定义语言,用来定义数据库对象,也就是数据库,数据表和表中的字段

        1.1 数据库操作

查询:

show databases;-----------查询所有数据库
select database();--------查询当前所使用的数据库

创建:

create database [if not exists] 数据库名字 [default charset 字符集][collate 排序规则];

        在语句中,[   ] 中的语句可有可无,if not exists-----表示如果已经有该名称的数据库则不会报错并且不创建,如果没有则创建数据库。 ‘字符集’----所表示的是数据库所用的字符集,例如utf8,utf8mb4等。默认为utf8mb4.

删除:

drop database [if exists] 数据库名; 

使用数据库:

use 数据库名;

        在生产中由于数据库操作过多,若需要切换数据库就可以使用该语句!

        1.2 数据表操作

查询:

show tables;---------------------查询当前数据库所有表
desc 表名;---------------------查询表结构
show create table 表名;--------查询建表语句

创建:

create table 表名(
    字段1  数据类型  [comment  字段注释] ,
    字段2  数据类型  [comment  字段注释] ,
    字段3  数据类型  [comment  字段注释] ,
    ...     ...     [...]
    字段n  数据类型  [comment  字段注释] 
        )[comment 数据表的注释]

        comment-----用来注释的关键词,可有可无,注意上面语句中的逗号“,”  在最后一个字段后面没有逗号。

        关于数据类型

修改:

        添加字段:

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

        修改数据类型:

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

        修改字段名和数据类型:

alter table 表名 change 旧字段名  新字段名  数据类型 [comment 字段注释][约束];

        删除字段:

alter table 表名 drop 字段名;

        修改表名:

alter table 表名 rename to 新表名;

        删除表:

drop table 表名;

        删除表后重新创建表:

truncate table 表名;

2.数据操作语言(DML)---------Data Manipulation Language

        DML是数据操作语言,用来对数据表中的数据进行增删改

        添加数据(指定字段)

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

         添加数据(所有字段)

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

        批量添加数据

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

         修改数据

updata 表名 set 字段1=值1,字段2=值2,......[where 条件];

        删除数据

delete from 表名 [where 条件];

3.数据查询语言(DQL)---------Data Query Language

        DQL是数据查询语言,用来查询数据库中表的记录

        3.1 基础查询 

select 字段名 from 表名 where 条件 group by 分组字段列表  having 分组后条件列表  order by 排序字段列表  limit  分页参数 ;

                在查询时,可以在字段后面加“ as 别名”,当分组后需要去除重复记录时,用语句:

select distinct 字段列表 from 表名 ;

        3.2 条件查询

        对于条件查询,就是在where之后书写的条件。我们这里介绍一下条件查询中的条件:

            比较运算  >、>=、<、<=、=、!=、between...and...(包含边界值)

                in()------->在条件中,字段符合in中的一个值时就会被返回。

                like------->占位符,用于模糊匹配(  _  匹配单个字符,%匹配任意个字符。)

                is null----->表示为空值

           逻辑运算       and/&&、or/||、not/!

        3.3 聚合函数查询

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

                         注意:null值不参与所有运算

        3.4 分组查询

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

        3.5 排序查询

select 字段列表 from 表名 order by 字段1  排序方式,字段2  排序方式;

        3.6 分页查询

                分页查询,又叫做数据库的方言,因为数据库不同所用的关键字就不同,MySQL中用limit。

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

        3.7  DQL总结

4.数据控制语言(DCL)---------Data Control Language

        DCL是数据控制语言,用来创建数据库用户、控制数据库的访问权限。(如果是做开发,DCL只需简单了解,但如果是做DBA,这部分也需要重点掌握!!!

        4.1  管理用户

                查询用户:(均可查询用户)

use mysql;



select *  from user;

                创建用户:

create user '用户名'@'主机名' identfied by '密码';

                修改用户密码:

alter user '用户名'@'主机名' identfied with mysql_native_password by '新密码';

                删除用户:

drop user '用户名'@'主机名';

        4.2  权限控制

                查询权限:

show grants for '用户名'@'主机名';

                授予权限:

grant 权限列表 on 数据库.数据表 to '用户名'@'主机名';

                撤销权限:

revoke 权限列表 on 数据库.数据表 from '用户名'@'主机名';

权限列表
ALL   /    all  privileges所有权限select查数据
insert插入数据update修改数据
delete删除数据alter修改数据表
drop删除库/表/视图create创建库/表

三、总结

        经过上面的学习,相信大家对数据库有了进一步的了解,但如果想要熟练掌握还是需要做一些练习的。希望上文可以对你有所帮助,谢谢大家!!!

举报

相关推荐

0 条评论