(复习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表示小数点后面的长度。

 

 

 

 

4,

字符串类型: char 与 varchar 都可以描述字符串,char是定长字符串,指定长度多长,就占用多少个字符 。而varchar是变长字符串,指定的长度为最大占用长度 。相对来说,char的性能会更高些。

5,日期时间类型:

 

 (一部分 比较常用的)

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)条件查询

    (5)常用的比较运算符如下:

 

    (6)聚合函数

聚合函数 将一列数据作为一个整体,进行纵向计算 。 常见的聚合函数: 语法: SELECT 聚合函数(字段列表) FROM 表名 ; 注意 : NULL值是不参与所有聚合函数运算的。

 

    (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中定义了很多种权限,但是常用的就以下几种:

               

 

         

      (2), 查询权限 SHOW GRANTS FOR '用户名'@'主机名'

    2、授予权限 GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名'

   3、撤销权限 REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名'

    注意事项: • 多个权限之间,使用逗号分隔 • 授权时, 数据库名和表名可以使用 * 进行通配,代表所有。

     (3)函数:是指一段可以直接被另一段程序调用的程序或代码。 也就意味着,这一段    程序或代码在MySQL中 已经给我们提供了,我们要做的就是在合适的业务场景调用对应     的函数完成对应的业务需求即可。 MySQL中的函数主要分为以下四类: 字符串函数、        数值函数、日期函数、流程函数。

      字符串函数:

        

 

        数值函数:

                            

 

    

mysql基础复习(SQL语句的四个分类),的更多相关文章

  1. 【MySQL】MySQL基础(SQL语句、约束、数据类型)

    数据库的基本概念 什么是数据库? 用于存储和管理数据的仓库 英文单词为:DataBase,简称DB 数据库的好处? 可以持久化存储数据 方便存储和管理数据 使用了统一的方式操作数据库 -- SQL 常 ...

  2. MySQL基础----动态SQL语句

    尊重原创:http://blog.csdn.net/abc19900828/article/details/39501643   动态sql语句基本语法 1 :普通SQL语句可以用Exec执行 eg: ...

  3. MySQL数据库:SQL语句基础、库操作、表操作、数据类型、约束条件、表之间的关系

    数据库相关概念: 1. 数据库服务器:运行数据库管理软件的计算机 2. 数据库管理软件:MySQL.Oracle.db2.slqserver 3. 库:文件夹,用来组织文件/表 4. 表:文件(类似于 ...

  4. MySQL的常用SQL语句.md

    修改密码 这是常见的大家一般都要用的 首先     安装成功了打开cmd --> mysql -u root -p -->输入你的密码     修改mysql root用户密码    格式 ...

  5. Oracle,SQL Server 数据库较MySql数据库,Sql语句差异

    原文:Oracle,SQL Server 数据库较MySql数据库,Sql语句差异 Oracle,SQL Server 数据库较MySql数据库,Sql语句差异 1.关系型数据库 百度百科 关系数据库 ...

  6. MySQL 常用的sql语句小结(待续)

    mysql 常用的sql语句 1.查看数据库各个表中的记录数 USE information_schema; SELECT table_name,table_rows FROM tables WHER ...

  7. 监控mysql执行的sql语句

    linux平台 监控mysql执行的sql语句   为了做好配合开发做性能和功能测试,方便监控正在执行的sql语句, 可以在/etc/mysqld中添加如下:  log =/usr/local/mys ...

  8. mysql统计类似SQL语句查询次数

    mysql统计类似SQL语句查询次数 vc-mysql-sniffer 工具抓取的sql分析. 1.先用shell脚本把所有enter符号替换为null,再根据语句前后的字符分隔语句 grep -Ev ...

  9. MySQL中执行sql语句错误 Error Code: 1093. You can't specify target table 'car' for update in FROM clause

    MySQL中执行sql语句错误 Error Code: 1093. You can't specify target table 'car' for update in FROM clause 201 ...

随机推荐

  1. 论文解读DEC《Unsupervised Deep Embedding for Clustering Analysis》

    Junyuan Xie, Ross B. Girshick, Ali Farhadi2015, ICML1243 Citations, 45 ReferencesCode:DownloadPaper: ...

  2. 如何使用 GitHub Pages 维护自己的博客

    目录 前置知识 实际操作 声明 本文地址:如何使用 GitHub Pages 维护自己的博客 前置知识 首先,你应该知道如何用 Hexo 在本地搭建一个博客系统,具体见 Hexo. 其次,我们如果想使 ...

  3. ArrayList实现类

    特点 数组结构实现,查询快,增删慢 运行效率高,线程不安全 可重复 常用方法 Modifier and Type Method and Description boolean add(E e) 将指定 ...

  4. [转载]Python 资源大全中文版

    [转载]Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-python 是 vinta 发起维护的 Python ...

  5. mesos是什么

    听过不少人在讨论 Mesos,然而并不是很明白 Mesos 到底能够解决什么问题,使用场景是怎样的,周伟涛(国内较早一批接触使用 Docker,Mesos 等技术的开发者)用一句话形容它, Mesos ...

  6. .Net Api 之如何使用Elasticsearch存储文档

    .Net Api 之如何使用Elasticsearch存储文档 什么是Elasticsearch? Elasticsearch 是一个分布式.高扩展.高实时的搜索与数据分析引擎.它能很方便的使大量数据 ...

  7. python22day

    内容回顾 递归练习 sys os logging shutil 函数结束啦 今日内容 面向对象 楔子:做一个人狗大战的游戏 技能要有归属感,人是人,狗是狗,技能的函数要写在对应函数内部,闭包. 复杂的 ...

  8. Spring专题2: DI,IOC 控制反转和依赖注入

    合集目录 Spring专题2: DI,IOC 控制反转和依赖注入 https://docs.spring.io/spring/docs/2.5.x/reference/aop.html https:/ ...

  9. pandas目录

    pandas目录 1 Lesson1--Pandas是什么 2 Lesson2--Pandas库下载和安装 3 Lesson3--Pandas Series结构 4 Lesson4--Pandas D ...

  10. ApacheCN JavaScript 译文集 20211122 更新

    JavaScript 编程精解 中文第三版 零.前言 一.值,类型和运算符 二.程序结构 三.函数 四.数据结构:对象和数组 五.高阶函数 六.对象的秘密 七.项目:机器人 八.Bug 和错误 九.正 ...