目录

一、SQL 通用语法

二、SQL 语句的分类

三、DDL语句

DDL——数据库操作

查询所有数据库 语句: SHOW DATABASES;(大小写均可,建议大写)

创建数据库HSK 语句:CREATE DATABASE HSK;

删除数据库HSK 语句 :DROP DATABASE HSK;

使用数据库 HSKK 语句:USE HSKK;

DDL——表操作

表查询语句

表创建语句

表操作数据类型

综合案例:

表操作修改

DDL简单总结:

四、MySQL 图形化界面

1.常见的 MySQL 图形化界面

2.下载安装 Datagrip

3.激活 Datagrip

4.初步使用 Datagrip

五、DML 语句

1.DML 语句简述

2.DML —— 添加数据

3.DML —— 更新(修改)语句

4.DML —— 删除语句

六、DQL 语句

1.DQL 语言简述

2.DQL 基本查询

3.DQL 条件查询

4.DQL 聚合函数

5.DQL 分组查询

6 DQL 排序查询

7.DQL 分页查询

8DQL 综合应用

9DQL 执行顺序

七、DCL 语句

1.DCL介绍

2.DCL 管理用户

3.DCL 权限控制

4.小总结:

SQL语句介绍就先到这里为止了,感谢大家的浏览!!!


一、SQL 通用语法

二、SQL 语句的分类

分为四类语句,下面 弄详细来看

DDL:定义表头字段等信息,用以操作表

DML :对数据进行操作的语句,对表中的数据增删查改

DQL:用以查询数据库中的表的数据

DCL:用来创建用户以及用户的权限

三、DDL语句

DDL——数据库操作

查询所有数据库 语句: SHOW DATABASES;(大小写均可,建议大写)

可见:MySQL 默认自带四个数据库

创建数据库HSK 语句:CREATE DATABASE HSK;

出现Query OK 即为创建成功,但是当再次创建已存在的数据库时会报错

可以输入命令:

CREATE DATABASE IF NOT EXISTS HSK;    //已存在就不创建,不会报错

如果想指定字符集可以输入以下命令:

CREATE DATABASE IF NOT EXISTS HSKK DEFAULT CHARSET utf8mb4; 

为什么使用 utf8mb4 字符集呢?

因为 utf8 是三个字节,但是有些特殊字符是 4 个字节,而 utf8mb4 支持 4 个字节

 至此,我们已经创建了两个数据库,将所有数据库显示出来

删除数据库HSK 语句 :DROP DATABASE HSK;

如图,如果删除不存在的数据库,同样会报错,可以使用一下命令解决:

DROP DATABASE IF EXISTS HSK;

使用数据库 HSKK 语句:USE HSKK;

注意:不要加 database;

显示 Database changed,即为使用该数据库成功

如果想要查询现在正在使用哪个数据库,可以使用命令行:

SELECT DATABASE();     //记得加括号

DDL——表操作

表查询语句

前提是:进入到了某个数据库,即使用语句 use 数据库名;

演示—显示默认自带系统库sys中所有的表

输入语句:SHOW TABLES;      //前提是进入到该数据库

等到学习完创建表的知识后再来演示下面两个语句,即查询表结构、查询建表语句

表创建语句

注意:[ ] 内的参数是可选参数,最后一个字段后面没有逗号

返回Query,即为创建成功

可以用查询语句中的 DESC 表名查询

也可以使用 SHOW CREATE TABLE 表名查询更详细的信息

ENGINE:存储引擎,后续介绍

DEFAULT CHARSET:默认字符集

COLLATE:默认排序方式

表操作数据类型

MySQL 中的数据类型有很多,主要有三类:数值类型、字符串类型、日期时间类型

数值类型:

备注:

tinyint:非常小的数

smallint:有点小的

mediumint:占用三个字节

DECIMAL:123.45 — 精度为5,标度为2

示例:

年龄:age TINYINT UNSIGNED      //无符号短整型

分数:score float(4,1)   //总长为4,小数点后有 1 位

字符串类型:

BLOB:有关的都是二进制形式的数据,一般为安装包、音视频等,但是如果将此类数据存储在数

数据库中,效率不高且不方便管理,一般将此类数据存储在专门的文本服务器中。所以该类数据的

使用并不是很多。

TEXT:文本文件

示例:char 与 varchar 的区别

char:性能较高,无论是多长都会占用一定的空间,适合 gender (只占用一个字节,定长)

varchar:性能较低,长度不定,适用于用户名,节省空间

日期时间类型:

一般来说:DATA、TIME、DATATIME 使用较多一些

注意:时间戳到 2038 年就过期了,需要注意;

案例:记录生日

birth DATA    //只需要年月日即可

综合案例:

代码如下:

create table emp(id int comment '编号',workernum varchar(10) comment '工号',name varchar(10) comment '姓名',gender char(1) comment '性别',age tinyint unsigned comment '年龄',idcard char(18) comment '身份证号',entrytime date comment '入职时间'
) comment '员工信息表';

执行并查询后结果:

如果我们想要修改 name 的长度,或者添加新的信息,那么就需要学习表头、字段的修改,加油!

表操作修改

添加字段:

 alter table emp add nickname varchar(20) comment '昵称';//添加一个新字段

如图所示:已经添加成功!!!!!!!!!!

修改字段:

一共有两种,修改数据类型和修改字段名和字段类型

案例:

alter table emp change nickname userkk varchar(30) comment '新昵称';

如题:已成功操作

删除字段:

示例:删除 userkk

alter table emp drop userkk;     //删除字段

如图已成功删除某字段;

修改表名:

代码:alter table emp rename to kkk;     //修改新表名

此时如果查询原表名会报错,因为已经不存在了;

删除表:

常用第一种:直接删除该表,啥也没了

第二种是删除该表,再新建一个该表,但是数据没有了,字段还有吗?

原字段依旧存在,只是数据信息没了!!!!!!

截止到:2023年4月14日23:43:22

------------------------------------------------------------分界线------------------------------------------------------------

DDL简单总结:

四、MySQL 图形化界面

1.常见的 MySQL 图形化界面

使用命令行的方式去操作的方式去开发数据库是不方便的,建议使用 MySQL 图形化界面去操作

以下是三种常见的 MySQL 图形化界面

我们使用的是第三种 —— DataGrip ,使用简单,功能强大

2.下载安装 Datagrip

下载地址:

下载 DataGrip:适用于数据库和 SQL 的跨平台 IDE (jetbrains.com)

选择适合自己平台的下载即可

下载后双击安装包即可,一路点击 next 即可

3.激活 Datagrip

激活操作链接:Docs (feishu.cn)

按照步骤操作即可;

4.初步使用 Datagrip

视频教程连接:11. 基础-SQL-图形化界面工具DataGrip_哔哩哔哩_bilibili

五、DML 语句

1.DML 语句简述

2.DML —— 添加数据

注意:

示例:向数据库中添加一条员工信息(编号、姓名、入职时间三个字段信息)

备注:使用select * from empp;                                 //来查询表中的数据信息

注意:插入数据有三个语句、分别是指定字段插入、全字段插入与批量插入,使用的时候只需要注

意语法别出错就行啦!这里就不接着演示了。

使用 datagrip 添加一条信息(批量添加):

insert into test values (3,'杰克','2020-12-11',18),(4,'㐏无','2022-09-09',35),(5,'新农业','2011-11-06',14);

3.DML —— 更新(修改)语句

where 是修改的条件,如果不加,默认修改全部的数据

执行语句:update test set name = '店小二' where id = 2;    //修改name

4.DML —— 删除语句

注意:只能删除整条信息,不可以删除其中某个字段的信息,但是可以使用修改单条信息使某一项

置NULL实现

六、DQL 语句

1.DQL 语言简述

DQL 语言包括哪些部分?

2.DQL 基本查询

演示——基本查询:针对的数据为:

查询字段:id、姓名、入职时间

设置别名查询:

去除重复记录查询

至此基本查询就到此为止!

3.DQL 条件查询

DQL 条件查询总述:

查询年龄为18的用户信息:

查询年龄小于等于55的用户信息:

查询年龄budne的用户信息:

查询有两个限定条件的用户信息

在两个条件之间使用 && 或 and

使用 between 要注意上下限问题,包含最大值最小值

in(条件1,条件2),示例如下:

查询没有身份证号的用户信息:

查询有身份证号的用户信息:

极其重要 —— 迷糊查询:

1.查询姓名为三个字符的用户信息

select * from test where name like '--';     //注意  like  后要用 '' 括起来

2.查询身份证号最后一位为 8 的用户信息

注意:也可以查询最后两位是 58 的用户信息,%可以表示任意位字符; 

4.DQL 聚合函数

总述:

统计数量:统计表中一共有多少条数据

如果以 age 为基准时,注意不计算值为 null 的值

统计年龄最小值:(平均值、最大值类似)

统计性别为男的年龄之和

统计性别为女的平均年龄

5.DQL 分组查询

总述:

语法:

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

根据性别分组,统计男性和女性的信息条数

统计男女分别的年龄平均数

查询年龄大于18岁的员工,并根据入职时间,获取员工数量大于等于2的入职时间

需要注意的是,count 里面是 * 还是其他字段,需要自己把控

6 DQL 排序查询

按照年龄降序排序 

7.DQL 分页查询

分页查询语法:

查询第一页:

select * from test limit 0,5;    #首页五个纪录

注意查询第二页时的起始索引号,不是1,而是(查询页码 - 1)* 每页记录数

8DQL 综合应用

1.查询性别为男,并且年龄在20 - 40岁以内的姓名为三个字的员工 

2.查询所有年龄小于35岁的员工的姓名和年龄,并对查询结果按年龄升序,年龄一样则入职时间降序排序

3.查询性别为男,年龄在20-40(含)岁之间的前5个员工的信息,对查询结果按照年龄升序排序,年龄一样按照入职时间升序排序 

select * from test where gender = '男' and age between 20 and 40 order by age asc,entertime asc limit 5;

9DQL 执行顺序

之前学习的都是编写顺序,如下:

执行顺序:from -> where —> group by -> select ->order by ->limit

可以通过每个阶段取别名的方式来验证执行顺序,视频讲解链接如下:

22. 基础-SQL-DQL-执行顺序_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Kr4y1i7ru?p=22&spm_id_from=pageDriver&vd_source=0864131da85286458a76f1653d414f35

七、DCL 语句

1.DCL介绍

主要有两个功能管理用户和设置访问权限

2.DCL 管理用户

查询用户:

也可以直接去文件夹那里双击访问

注意:只有host和user两个同时确定才能定位一个用户,localhost表示只能当地访问

创建用户:

注意:此时还没有访问任何权限,只能访问一个系统库,可稍后进行设置

如果想设置任意主机均可访问,那么只需要把 localhost 更改为 % 即可

修改用户密码:

alter user 'itcast'@'localhost' identified with mysql_native_password by '12345';

注意:

3.DCL 权限控制

 权限控制:

查询权限:查询用户名有哪些权限 

仅仅只有登录权限

授予权限:

grant all on hskk.* to 'itcast'@'localhost';

将数据库hskk中的所有表的权限授权给用户 iscast;

撤销权限:

一样的操作,没有什么不一样,索然无味

revoke 权限列表 on 数据库.表名 from 用户名

需要注意的地方:

如果是*.*,则是所有所有数据库所有表的权限

4.小总结:

SQL语句介绍就先到这里为止了,感谢大家的浏览!!!

【SQL 语法教程】小白专属SQL教程相关推荐

  1. 【SQL语法基础】了解SQL:一门半衰期很长的语言

    在我们的日常工作中,使用的是类似 MySQL.Oracle 这种的数据库管理系统,实际上这些数据库管理系统都遵循 SQL 语言,这就意味着,我们在使用这些数据库的时候,都是通过 SQL 语言与它们打交 ...

  2. php原生sql语法,thinkphp执行原生SQL语句的实现方法

    怎样在thinkphp里面执行原生的sql语句? $Model = new Model();//或者 $Model = D(); 或者 $Model = M(); $sql = "selec ...

  3. 教你怎么做java版我的世界材质包_我的世界材质包制作教程 小白专属

    导读:我的世界如何制作材质包.在我的世界中,玩家经常会接触到材质包,各位有没有想过自己制作一个材质包呢?今天小编就来介绍一下我的世界材质包制作教程. 首先,要记住1.7以上才可以使用 工具,两种搭配随 ...

  4. mysql数据库sql语法参考_MySQL数据库SQL语法参考

    一.资料定义 ddl(data definition language) 资料定语言是指对资料的格式和形态下定义的语言,他是每个资料库要建立时候时首先要面对的,举凡资料分哪些表格关系.表格内的有什麽栏 ...

  5. SQL语法集锦一:SQL语句实现表的横向聚合

    本文转载:http://www.cnblogs.com/lxblog/archive/2012/09/29/2708128.html 问题描述: 假如有一表结构和数据如下: C1 C2 C3 C4 C ...

  6. SQL Prompt教程:使用SQL Prompt查找SET NOCOUNT代码问题

    SQL Prompt是一款实用的SQL语法提示工具.SQL Prompt根据数据库的对象名称.语法和代码片段自动进行检索,为用户提供合适的代码选择.自动脚本设置使代码简单易读–当开发者不大熟悉脚本时尤 ...

  7. c mysql安装教程视频_MySQL安装教程 - Windows安装MySQL教程 - 小白式安装MySQL教程 - 青衫慧博客...

    版权声明 本文转发自旧站点萧瑟云日志,近期考虑准备将旧站进行关闭(没有精力维护),部分文章将会迁移至本站.文章发表于:2017-10-28 12:32:03 前言 上次给大家带来了SQL Server ...

  8. SQL语法之排序查询(进阶3)and常见函数(进阶4)

    SQL语法体系学习笔记 SQL语法之基础查询(进阶1)and条件查询(进阶2) SQL语法之排序查询(进阶3)and常见函数(进阶4) SQL语法之分组函数,分组查询(进阶5)and连接查询(sql9 ...

  9. SQL语法之基础查询(进阶1)and条件查询(进阶2)

    SQL语法体系学习笔记 SQL语法之基础查询(进阶1)and条件查询(进阶2) SQL语法之排序查询(进阶3)and常见函数(进阶4) SQL语法之分组函数,分组查询(进阶5)and连接查询(sql9 ...

最新文章

  1. 编译可在Nexus5上运行的CyanogenMod13.0 ROM(基于Android6.0)
  2. python详细下载安装教程-Python下载并安装图形教程[超级详细]
  3. linux做成service服务器,Zabbix2.0.3做成Service
  4. CE6.0 下获得 SD 卡序列号的方法
  5. django弹出对话框_Django实现简单网页弹出警告代码
  6. aspnet core 2.1中使用jwt从原理到精通一
  7. Python函数积累
  8. shell脚本报错“^M: bad interpreter”解决方法
  9. 怎样安装android系统版本,Android 12公测版Beta 1现已推出,教你如何安装
  10. 文字转语音文件的两种方法
  11. java并发初探ThreadPoolExecutor拒绝策略
  12. 安装MinGW-W64提示cannot download repository.txt
  13. 理解 GBK、Unicode、utf-8
  14. 商业级激光打标源代码 因为已经开发出更强大的激光打标系统。改改就可以应用到自已的系统中去。
  15. Xiangqi UVA - 1589
  16. Promise的九大方法(resolve、reject、then、catch、finally、all、allSettled、race、any)你都用过那些?
  17. Android SeekBar控件详解
  18. 视频字幕识别(百度AI开放平台OCR | python | opencv)
  19. 机器学习中类别变量的编码方法总结
  20. python批量放大图片

热门文章

  1. java permgen space_PermGen space内存溢出解决办法
  2. 对API接口或H5接口做签名认证
  3. 使用python实现接口测试
  4. oracle查询数据库名、实例名、ORACLE_SID
  5. js 终止 forEach 循环
  6. 骨干云池服务器SATA盘的RAID配置,用两块硬盘组建RAID0磁盘阵列简单教程(图文详解)...
  7. TCP连接的释放(四次挥手)
  8. 破解星空极速,共享上网
  9. 组播IP转换为组播MAC地址【转载】
  10. 债券交易日志12.24