MySQL学习基础部分--SQL语句(附Xmind制作文件)

前言

此系列的记录并未含有例子介绍,仅为个人学习阶段记录的知识点,并不适合直接学习,更为适合作为复习所用

SQL语句部分

通用语句

  • SQL语句可以单行或多行书写,以分号结尾

  • SQL语句可以使用空格/缩进来增强语句的可读性

  • MySQL数据库的SQL语句不区分大小写,关键字建议使用大写

  • 单行注释:--注释内容或#注释内容(MySQL特 多行注释:/*注释内容*/

DDL

数据定义语言,用来定义数据库对象(数据库,表,字段)

  • 查询

    • 查询表

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

        • show tables;

      • 查询指定表的建表语句

        • show create table 表名;

      • 查询表结构

        • desc 表名;

    • 查询库

      • select database();查询当前数据库

      • show databases;查询所有数据库

  • 创建

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

      • create table 表名{ 字段1 字段1类型 [comment’‘] }[comment 表注释];

  • 删除

    • drop database [if exists]数据库名;

    • drop table[if exists]表名;

    • 删除指定表,并重新创建该表

      • truncate table 表名;

  • 使用

    • use 数据库名;

  • 修改

    • 修改数据类型

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

    • 修改字段名和字段类型

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

    • 添加字段

      • alter table 表名 add 字段名 类型(长度)[commmit];

    • 删除字段

      • alter table 表名 drop 字段名;

    • 修改表名

      • alter table 表名 remove to 新表名;

DML

数据操作语言,用来堆数据库中的数据进行增删改

  • 添加数据(字符串和日期型数据应该包含在引号中

    • 给指定字段添加数据

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

    • 给全部字段添加数据

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

    • 批量添加数据

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

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

  • 修改数据(条件可有可无,无时修改整张表的所有数据)

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

  • 删除数据(不能删除某一个字段的值

    • delete from 表名 [where 条件];

  • 修改表名

    • alter table 表名 remove to 新表名;

DQL

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

  • 语法

    • select 字段列表(5) from表名列表(1) where 条件列表(2) group by 分组字段列表(3) having 分组后条件列表(4) order by 排序字段列表(6) limit 分页参数(7)

      • where和having区别

        • 执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤。

        • 判断条件不同:where不能对聚合函数进行判断,而having可以。

      • 执行顺序:where>聚合函数>having

      • order by(多字段排序,第一个相同才根据第二个排

        • asc:升序(默认值)

        • desc:降序

    • 查询

      • 基本查询

      • 条件查询(where)

        • 条件

          • 比较运算符

            • > < <= >= = <>或!= between...and...(含最大最小) in(....) like _ % IS NULL

          • 逻辑运算符

            • and或&& or或|| not或!

      • 聚合函数(count(统计数量),max,min,avg,sum)

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

      • 分组查询(group by)

      • 分页查询(limit)

DCL

数据控制语言,用来创建数据库用户、控制数据库的访问权限

  • 管理用户(主机名可以用%通配)

    • 查询用户

      • select *from user;

    • 创建用户

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

    • 修改用户密码

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

    • 删除用户

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

  • 权限控制

    • 常用权限

      • all,all privileges(所有权限)

      • select(查询数据)

      • insert(插入数据)

      • update(修改数据)

      • delete(删除数据)

      • alter(修改表)

      • drop(删除数据库/表/视图)

      • create(创建数据库/表)

    • 查询权限

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

    • 授予权限

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

    • 撤销权限

      • revoke 权限列表 on 数据库名,表名 to '用户名'@'主机名';

      •  

完整思维导图(PNG格式图片)

MySQL学习基础部分--SQL语句(附Xmind制作文件)_第1张图片

 

你可能感兴趣的:(MySQL学习,mysql,学习,数据库)