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表示小数点后面的长度。
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语句的四个分类),的更多相关文章
- 【MySQL】MySQL基础(SQL语句、约束、数据类型)
数据库的基本概念 什么是数据库? 用于存储和管理数据的仓库 英文单词为:DataBase,简称DB 数据库的好处? 可以持久化存储数据 方便存储和管理数据 使用了统一的方式操作数据库 -- SQL 常 ...
- MySQL基础----动态SQL语句
尊重原创:http://blog.csdn.net/abc19900828/article/details/39501643 动态sql语句基本语法 1 :普通SQL语句可以用Exec执行 eg: ...
- MySQL数据库:SQL语句基础、库操作、表操作、数据类型、约束条件、表之间的关系
数据库相关概念: 1. 数据库服务器:运行数据库管理软件的计算机 2. 数据库管理软件:MySQL.Oracle.db2.slqserver 3. 库:文件夹,用来组织文件/表 4. 表:文件(类似于 ...
- MySQL的常用SQL语句.md
修改密码 这是常见的大家一般都要用的 首先 安装成功了打开cmd --> mysql -u root -p -->输入你的密码 修改mysql root用户密码 格式 ...
- Oracle,SQL Server 数据库较MySql数据库,Sql语句差异
原文:Oracle,SQL Server 数据库较MySql数据库,Sql语句差异 Oracle,SQL Server 数据库较MySql数据库,Sql语句差异 1.关系型数据库 百度百科 关系数据库 ...
- MySQL 常用的sql语句小结(待续)
mysql 常用的sql语句 1.查看数据库各个表中的记录数 USE information_schema; SELECT table_name,table_rows FROM tables WHER ...
- 监控mysql执行的sql语句
linux平台 监控mysql执行的sql语句 为了做好配合开发做性能和功能测试,方便监控正在执行的sql语句, 可以在/etc/mysqld中添加如下: log =/usr/local/mys ...
- mysql统计类似SQL语句查询次数
mysql统计类似SQL语句查询次数 vc-mysql-sniffer 工具抓取的sql分析. 1.先用shell脚本把所有enter符号替换为null,再根据语句前后的字符分隔语句 grep -Ev ...
- 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 ...
随机推荐
- Web开发之HTTP协议
HTTP响应消息 一个HTTP响应代表服务器向客户端回送的数据. 一个完整的HTTP响应包括如下内容: 一个状态行.若干消息头.以及响应正文,其中的一些消息头和正文都是可选的,消息头和正文内容之间要用 ...
- C#winform控件序列化,反序列化
using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System. ...
- X-Y问题(X-Y problem)
X-Y Problem 什么是X-Y problem呢? 某人想要解决问题X 他认为Y可能是解决X问题的方法 但是他不知道Y怎么做 于是他去问别人Y应该怎么做 这就产生了一个X-Y problem 也 ...
- cesium结合geoserver利用WFS服务实现图层编辑(附源码下载)
前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 内 ...
- linux中三剑客之一grep命令
目录 一:grep语法格式: 二:参数: 三:正则表达式 1.linux正则表达式 2.普通正则表达式 四:正则与grep实战案例实战: grep简介: linux 三剑客之一,文本过滤器(根据文本内 ...
- python04day
回顾 int str bool str: s1='tangdaren123' 索引: s1[0] s1[-1] s1[:3] s1[:5:2] s1[-1:-4:-1] s1[-1:-6:-2] 常用 ...
- 马哈鱼间接数据流中的where-group-by子句
马哈鱼间接数据流中的where-group-by子句 本文介绍间接数据流中的where-group-by子句. 1.列在where子句中 WHERE子句中源表中的某些列不影响目标列,但对所选行集至关重 ...
- 手写简单call,apply,bind
分析一下call的使用方法:call是显示绑定this指向,然后第一个参数是你所指向的this对象,后面跟着多个参数,以逗号隔开 function sum(num1,num2){ return num ...
- 21个实用便利的PHP代码
转载请注明来源:https://www.cnblogs.com/hookjc/ 1. PHP可阅读随机字符串 此代码将创建一个可阅读的字符串,使其更接近词典中的单词,实用且具有密码验证功能. /*** ...
- NSURL组成部分详解
手思中有这么一段代码,初看下,让人摸不着头脑 //功能:UIWebView响应长按事件 -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithR ...