首页 运维知识 关于mysql基础复习SQL语句的四个分类

关于mysql基础复习SQL语句的四个分类

                                                                                          …

                                                                                                   (复习mysql ) 

(一)SQL分类:

SQL语句根据其功能,主要分为四类:DDL、DML、DQL、DCL。 DDL:

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

DML:Data Manipulation Language 数据操作语言,用来对数据库表中的数据进行增删改

DQL: Data Query Language 数据查询语言,用来查询数据库中表的记录

DCL: Data Control Language 数据控制语言,用来创建数据库用户、控制数据库的 访问权限。

 

(二)DDL  数据库的操作

1、数据库操作 查询所有数据库:show databases; 创建数据库:create database 数据库名; 删除数据库:drop database 数据库名; 使用数据库:use 数据库名; 

2、表操作 查询当前数据库所有表:show tables;

查看指定表结构:desc 表名; 查询指定表的建表语句:show create table 表名;

创建表结构:create table 表名( 字段1 字段1类型, 字段2 字段2类型 … );

3,MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。 数值类型:有符号:SIGNED、无符号:UNSIGNED。默认是有符号。 浮点型可以用类型名称后加(M,D)来表示,M表示该值的总共长度,D表示小数点后面的长度。
关于mysql基础复习SQL语句的四个分类插图
关于mysql基础复习SQL语句的四个分类插图1

4,

字符串类型: char 与 varchar 都可以描述字符串,char是定长字符串,指定长度多长,就占用多少个字符 。而varchar是变长字符串,指定的长度为最大占用长度 。相对来说,char的性能会更高些。
关于mysql基础复习SQL语句的四个分类插图2
5,日期时间类型:
关于mysql基础复习SQL语句的四个分类插图3
(一部分 比较常用的)

6,表格的格式:

修改表名 alter table 表名 rename to 新的表名;

添加列 alter table 表名 add 列名 数据类型;

修改列名称 类型 alter table 表名 change 列名 新列名 列类型 删除列 alter table 表名 drop 列名;

删除表 drop table 表名;(会使用就可以)

 

(三)DML 

(1)   DML:DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增、删、改操作 添加表数据语法: insert into 表名(列名1,..列名n) values(值1,…值n);

注意: 1 列名和值要一一对应。

2. 如果表名后,不定义列名,则默认给所有列添加值,如果第一列是主键列,我们需要在添加值时把第一列的值设置为null。

3. 除了数值类型,其他类型的值需要使用引号引起来。

 

 (2)  删除表数据语法: delete from 表名 where 条件 注意:

1. 如果不加条件,则删除表中所有记录。

2. 如果要删除所有记录 1. delete from 表名; — 不推荐使用。有多少条记录就会执行多少次删除操作

2. truncate table 表名; — 推荐使用,效率更高先删除表,然后再创建一张一样的表。

 

 (3)修改表数据语法:

update 表名 set 列名1 = 值1, 列名2 = 值2,… where 条件;

注意: 如果不加任何条件,则会将表中所有记录全部修改。

 

(四) DQL

DQL英文全称是Data Query Language(数据查询语言),数据查询语言,用来查询数据库中表的记录。

  (1)DQL 查询语句语法结构: SELECT 字段列表 FROM 表名列表 WHERE 条件列表 GROUP BY 分组字段列表 HAVING 分组后条件列表 ORDER BY 排序字段.

 

(2)DQL 查询语句分类: 基本查询(不带任何条件)

       条件查询(WHERE)

       聚合函数(count、max、min、avg、sum)

       分组查询(group by) 排序查询(order by)

        分页查询(limit)

(3)基础查询

     1、查询多个字段 SELECT 字段1, 字段2, 字段3 … FROM 表名 ; SELECT * FROM 表名 ; 注意 : * 号代表查询所有字段,在实际开发中尽量少用(不直观、影响效率)。 

2、字段设置别名 SELECT 字段1 AS ‘别名1 ‘, 字段2 AS ‘别名2’ … FROM 表名; SELECT 字段1 [ 别名1 ] , 字段2 [ 别名2 ] … FROM 表名 3、去除重复记录 SELECT DISTINCT 字段列表 FROM 表名;

 

   (4)条件查询
关于mysql基础复习SQL语句的四个分类插图4
(5)常用的比较运算符如下:
关于mysql基础复习SQL语句的四个分类插图5

    (6)聚合函数

聚合函数 将一列数据作为一个整体,进行纵向计算 。 常见的聚合函数: 语法: SELECT 聚合函数(字段列表) FROM 表名 ; 注意 : NULL值是不参与所有聚合函数运算的。
关于mysql基础复习SQL语句的四个分类插图6

 

    (7分组查询)

SELECT 字段列表 FROM 表名 [ WHERE 条件 ] GROUP BY 分组字段名 [ HAVING 分组 后过滤条件 ];

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

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

注意事项: • 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。

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

• 支持多字段分组, 具体语法为 : group by columnA,columnB

   (8)排序方式:

SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1 , 字段2 排序方式2 排序方式 : ASC : 升序(默认值) DESC: 降序 注意事项: • 如果是升序, 可以不指定排序方式ASC ; • 如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序 ;

    (9)分页查询

SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查询记录数 注意事项: • 起始索引从0开始,起始索引 = (查询页码 – 1)* 每页显示记录数。

• 分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。

• 如果查询的是第一页数据,起始索引可以省略,直接简写为 limit 10。

 

 

       五     DCL

   (1),DCL:英文全称是Data Control Language(数据控制语言),用来管理数据库用户、控制数据库的访问权限。 管理用户

     1、查询用户 select * from mysql.user;

      2、创建用户 CREATE USER ‘用户名’@’主机名’ IDENTIFIED BY ‘密码’;

     3、修改用户密码 ALTER USER ‘用户名’@’主机名’ IDENTIFIED WITH mysql_native_password BY ‘新密码’ ;

    4、删除用户 DROP USER ‘用户名’@’主机名’ ;

    注意事项: • 在MySQL中需要通过用户名@主机名的方式,来唯一标识一个用户。

    • 主机名可以使用 % 通配。

   • 这类SQL开发人员操作的比较少,主要是DBA使用。

     权限控制

              MySQL中定义了很多种权限,但是常用的就以下几种:关于mysql基础复习SQL语句的四个分类插图7

 

 

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 小小编

为您推荐

dell R710 更换raid卡后,raid卡信息没有了,处理方案

dell R710 更换raid卡后,raid卡信息没有了,处理方案

1.将一台服务器(A)的硬盘依次拔出,按相同顺序插入另一台同样配置的服务器(B) 2.启动服务器(B) 3.按提示键盘按...
PL SQL Developer 13连接Oracle数据库并导出数据详细操作教程方法

PL SQL Developer 13连接Oracle数据库并导出数据详细操作教程方法

下载 并安装 PL SQL Developer 13,默认支持中文语言 ========================...
关于一条sql语句在mysql中是如何执行的

关于一条sql语句在mysql中是如何执行的

最近开始在学习mysql相关知识,自己根据学到的知识点,根据自己的理解整理分享出来,本篇文章会分析下一个sql语句在my...
关于sql注入姿势总结(mysql)

关于sql注入姿势总结(mysql)

前言 学习了sql注入很长时间,但是仍然没有系统的了解过,这次总结一波,用作学习的资料。 从注入方法分:基于报错、基于布...
关于Oracle SQL外连接

关于Oracle SQL外连接

SQL提供了多种类型的连接方式,它们之间的区别在于:从相互交叠的不同数据集合中选择用于连接的行时所采用的方法不同。 连接...

发表回复

返回顶部