MySQL常用DDL、DML、DCL语言整理
DDL
----Data Definition Language 数据库定义语言 如 create procedure之类
创建数据库
CREATE DATABASE [IF NOT EXISTS] DBNAME [CHARACTER SET 'CHAR_NAME'] [COLLATE 'COLL_NAME']
修改:ALTER 删除:DROP
DML
----Data Manipulation Language 数据操纵语言
如insert,delete,update,select(插入、删除、修改、检索)插入修改数据
mysql>INSERT INTO students (Name,Gender,teacher) VALUE ('lujunyi','M','mage'),('wusong','M','zhuima');
mysql>INSERT INTO students SET Name='lujunyi',Gender='M',tearcher='zhuima';
更新数据
mysql>UPDATE tb_name SET column=value WHERE column=value; mysql>UPDATE students SET Course='mysql' WHERE Name='lujunyi';
替换数据:
和UPDATE使用方式一样,只要将UPDATE换成REPLACE即可
删除数据:
mysql>DELETE FROM tb_name WHERE conditions; mysql>DELETE FROM students WHERE Course='mysql';
清空表:
mysql>TRUNCATE tb_name
查询数据
单表查询:
mysql>SELECT [DISTINCT] column FROM tb_name WHERE CONDITION;
EXAMPLE:
#基本投影查询
mysql>SELECT Name,teacher FROM students WHERE Name='wusong';
#重复的结果只显示一次
mysql>SELECT DISTINCT Gender FROM students;
#组合条件,可以使用AND,OR,NOT,XOR组合多个条件
mysql>SELECT * FROM students WHERE Age>20 AND Gender='M';
#使用BETWEEN...AND...筛选出年龄介于20-25之间的数据
mysql>SELECT * FROM students WHERE Age BETWEEN 20 AND 25;
#查询Name以Y开头的的数据,%表示任意长度的任意字符,_表示任意单个字符
mysql>SELECT * FROM student WHERE Name LIKE 'Y%';
#使用正则表达式匹配查询,关键词为RLINK或者REGEXP
mysql> SELECT * FROM students WHERE Name RLINK '^[MNY].*$';
#使用IN关键词,将条件限定在一个列表中。用IS关键词,表示条件是否为空(IS NULL 或者 IS NOT NULL)
mysql>SELECT * FROM students WHERE Age IN (20,22,24);
#将查询的结果进行排序
mysql>SELECT * FROM students ORDER BY Name {ASC|DESC};
#查询结果别名显示
mysql>SELECT Name AS Stu_Name FROM students;
#LIMIT限定查询结果的条数,LIMIT 2,3表示偏移2条数据后,取3条数据
mysql>SELECT * FROM students LIMIT 2;
#求平均数:AVG(),最大值:MAX() 最小值MIN() 数量:COUNT() 求和:SUM()
mysql>SELECT AVG(age) FROM students;
#分组GROUP BY
mysql>SELECT Age, Gender FROM students GROUP BY Gender;
#别名:AS
mysql>SELECT COUNT(Age) AS Num,Age FROM students GROUP BY Age;
#过滤:HAVING
mysql>SELECT COUNT(Age) AS Num,Age FROM students GROUP BY Age HAVING Num>2;
多表查询:
#指定已哪个字段连接2张表
mysql>SELECT students.Name,courses.Cname FROM students,courses WHERE students.CID1 = courses.CID;
#连接时指定别名
mysql>SELECT students.Name,courses.Cname FROM students,courses WHERE students.CID1 = courses.CID;
#左外连接...LEFT JOIN...ON...
mysql>SELECT s.Name,c.Cname FROM students AS s LEFT JOIN courses AS c ON s.CID1=c.CID;
#右外连接...RIGHT JOIN...ON...
mysql>SELECT s.Name,c.Cname FROM students AS s RIGHT JOIN courses AS c ON s.CID1=c.CID;
子查询
#查询年龄大于平均年龄的数据
mysql>SELECT * FROM students WHERE Age > (SELECT AVG(Age) FROM students);
#在FROM中使用子查询
mysql>SELECT Name,Age FROM (SELECT * FROM students WHERE CID IN (2,3)) AS t WHERE Age>20;
#联合查询
mysql>(SELECT Name,Age FROM students) UNION (SELECT Tname,Age FROM tutors);
创建视图
CREATE VIEW VIEW_NAME AS SELECT....
DCL
----Data Control Language 数据库控制语言如grant,deny,revoke等,只有管理员才有这样的权限。
创建用户
mysql>CREATE USER 'USERNAME'@'HOST' IDENTIFIED BY 'PASSWORD'
删除用户
mysql>DROP USER 'USERNAME'@'HOSHOST支持通配符
_:任意单个字符
%:任意多个字符
授权
mysql>GRANT pri1,pri2...ON DB_NAME.TB_NAME TO 'USERNAME'@'HOST' [IDENTIFIED BY 'PASSWORD']
取消授权
mysql>REVOKE pri1,pri2...ON DB_NAME.TB_NAME FROM 'USERNAME'@'HOST';
查看授权
mysql>SHOW GRANTS FOR 'USERNAME'@'HOST';
EXAMPLE:
mysql>CREATE USER 'lujunyi'@'%' IDENTIFIED BY ''; mysql>SHOW GRANTS FOR 'lujunyi'@'%'; mysql>GRANT ALL PRIVILEGES ON testdb.* TO 'lujunyi'@'%';
MySQL常用DDL、DML、DCL语言整理的更多相关文章
- Mysql中DDL, DML, DCL, 和TCL是什么?
在一些公司中提交给测试团队的SQL脚本会划分为DDL.DML等,但这些概念到底是如何定义的呢? SQL(Structure Query Language)是数据库操作的的核心语言,接下来我们通过一张图 ...
- SQL语言:DDL,DML,DCL,DQL,TCL
DDL(Data Definition Language)数据库定义语言 statements are used to define the database structure or schema. ...
- SQL四种语言:DDL,DML,DCL,TCL
1.DDL(Data Definition Language)数据库定义语言statements are used to define the database structure or schema ...
- SQL中的四种语言DDL,DML,DCL,TCL
1.DDL(Data Definition Language)数据库定义语言statements are used to define the database structure or schema ...
- SQL四种语言:DDL,DML,DCL,TCL 的区别
1.DDL(Data Definition Language)数据库定义语言statements are used to define the database structure or schema ...
- Oracle中的DDL,DML,DCL总结
转自http://blog.csdn.net/w183705952/article/details/7354974 DML(Data Manipulation Language,数据操作语言):用于检 ...
- ddl dml dcl
DCL数据控制语言 创建临时表空间 create temporary tablespace user_temp tempfile 'E:/oracle/product/10.1.0/oradata/o ...
- DDL DML DCL SQL
https://dev.mysql.com/doc/refman/5.7/en/glossary.html#glos_ddl SQL The Structured Query Language tha ...
- SQL 四大功能DDL/DML/DCL/TCL
SQL主要分成四部分:(1)数据定义.(SQL DDL)用于定义SQL模式.基本表.视图和索引的创建和撤消操作.(2)数据操纵.(SQL DML)数据操纵分成数据查询和数据更新两类.数据更新又分成插入 ...
- SQLServer 里面的 DDL,DML,DCL,TCL(转)
1.DDL (Data Definition Language )数据库定义语言 statements are used to define the database structure or sch ...
随机推荐
- [TimLinux] django context_processor介绍
1. context django里面 render 函数,HttpResponse,都有一个参数,context={},这个参数用于将视图层处理得到的数据传递到模板层. 2. context_pro ...
- [Python Modules] unittest.mock
五夜光寒,照来积雪平于栈.西风何限,自起披衣看. 对此茫茫,不觉成长叹.何时旦,晓星欲散,飞起平沙雁. 在某个Python程序中看到这么一行 from unittest import mock 看起来 ...
- 【Python必学】Python爬虫反爬策略你肯定不会吧?
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 正文 Python爬虫反爬策略三部曲,拥有这三步曲就可以在爬虫界立足了: ...
- WebSocket重连实现
方式一.使用第三方库实现 比如:reconnecting-websocket.jsReconnectingWebSocket,代码:https://github.com/joewalnes/recon ...
- 201871010119-帖佼佼《面向对象程序设计(java)》第7周学习总结
博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.co ...
- drf源码分析系列---认证
认证的使用 from rest_framework.authentication import BaseAuthentication from api import models # 认证类 clas ...
- Python爬虫基础——XPath语法的学习与lxml模块的使用
XPath与正则都是用于数据的提取,二者的区别是: 正则:功能相对强大,写起来相对复杂: XPath:语法简单,可以满足绝大部分的需求: 所以,如果你可以根据自己的需要进行选择. 一.首先,我们需要为 ...
- static介绍、内部类、final、权限修饰符的作用范围
static 关键字:(可用于修饰方法.变量) static 特点: static是静态修饰符,一般修饰成员变量.被static修饰的属于全局共享.被static修饰的成员属于 ...
- 建议2:注意Javascript数据类型的特殊性---(3)正确检测数据类型
使用typeof预算符返回一个用于识别其运算数类型的字符串.对于任何变量来说,使用typeof预算符总是以字符串的形式返回一下6种类型之一 number string boolean object f ...
- .net(C#数据库访问) Mysql,Sql server,Sqlite,Access四种数据库的连接方式
便签记录Mysql,Sql server,Sqlite,Access四种数据库的简单连接方式 //using MySql.Data.MySqlClient; #region 执行简单SQL语句,使用M ...