MySQL数据库SQL2——DML—DQL

Posted 南城诗客^

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL数据库SQL2——DML—DQL相关的知识,希望对你有一定的参考价值。

开源数据库mysql - SQL2

DML

目的

在MySQL管理软件中,DDL已经定义了数据库结构。
那么如何对其中的数据进行管理呢?
可以通过SQL语句中的DML语言来实现数据的操作,包括使用:

INSERT	实现数据的	插入
DELETE	实现数据的	删除
UPDATE	实现数据的	更新。

一、插入数据INSERT

完整插入

INSERT INTO 表名                          VALUES (值1,值2,值3…值n);

部分插入

INSERT INTO 表名(列名,列名)  VALUES (值1,值2);

二、更新数据UPDATE

语法

UPDATE   表名   SET   列名=值   WHERE   CONDITION;

示例1

准备一张表

mysql> create table t6(id int, name varchar(20));
mysql> insert into t6 values (1,'aa');
mysql> insert into t6 values (2,'bb');

更新数据

需求:把bb改成cc

mysql> update   t6   set   name='cc' where id=2;

查询结果

mysql> select * from t6;

示例2

修改mysql数据库管理员root账户的密码。

mysql> update mysql.user set authentication_string=password("QianFeng@123456") where user="root";

三、删除数据DELETE

语法:

DELETE   FROM    表名   WHERE   CONDITION;

示例:

需求:删除id为2 的用户记录。

mysql> delete from t6 where id=2;

DQL

目的

在MySQL管理软件中,可以通过SQL语句中的DQL语言来实现数据的
SELECT 查询操作

MySQL查询

一、简单查询

查看所有列

前提是需要进入数据库。不进入数据库,就请输入库名。
SELECT * FROM 表名;

查部分列

SELECT   列1,列2,列3    FROM     表名;

通过四则运算查询

看一看薪水

SELECT name, salary, salary*14 FROM employee5;

二、条件查询

单条件查询where

查询班级的学生姓名

SELECT name,post 
	FROM employee5
	WHERE post='hr';

多条件查询AND/OR
查询所有员工,并且交税大于1000

SELECT name,salary 
	FROM employee5
	WHERE post='hr' AND salary>1000;

查询所有分公司的员工,并且交税是6000或者8000的员工

SELECT name, salary FROM employee5 
	WHERE salary=6000 OR salary=8000

关键字BETWEEN AND 在什么之间

需求:查一查交税在5000到15000

SELECT name,salary FROM employee5 
	WHERE salary BETWEEN 5000 AND 15000;

需求:不在5000~15000呢?请使用NOT

SELECT name,salary FROM employee5 
	WHERE salary NOT BETWEEN 5000 AND 15000;

关键字IN集合查询

工资可能是4000,也可能是5000,还有可能是9000,怎么查

OR可以组合多条件,效率如何?
SELECT name, salary FROM employee5 
	WHERE salary=4000 OR salary=5000 OR salary=6000 OR salary=9000 ;

关键字IS NULL

没有岗位描述的

SELECT name,job_description FROM employee5 
	WHERE job_description IS NULL;
非空
SELECT name,job_description FROM employee5 
		WHERE job_description IS NOT NULL;
错误示范,空格''
SELECT name,job_description FROM employee5 
	WHERE job_description='';

关键字LIKE模糊查询

好像有个员工姓阿

SELECT * FROM employee5 
	WHERE name LIKE 'al%';

通配符’%’代表多个任意字符
注意不是shell的"*“星号。mysql使用”%"

好像有个员工姓阿

SELECT * FROM employee5 
	WHERE name LIKE 'al___';

注意不是shell的“?”问号。mysql使用""下划线
通配符’
’代表1个任意字符

三、查询排序

例如以交税升序排列

SELECT    *     FROM     表名   ORDER       BY     工资的列名     ASC;

例如以交税降序排列

SELECT    *     FROM     表名   ORDER BY    工资的列名     DESC;

交税最高的前五名

SELECT * FROM employee5 ORDER BY salary DESC 
LIMIT  5;	  

//默认初始位置为0

以上是关于MySQL数据库SQL2——DML—DQL的主要内容,如果未能解决你的问题,请参考以下文章

MySQL学习DQL/DML/DDL/DCL 介绍

Mysql基础3-数据操作语言DML-数据查询语言DQL

MySQL基础-- [DML(数据操纵语言),DQL(数据查询语言)]

MySQL基础篇(DDL,DML,DQL,DCL详细讲解)

DML和DQL 总结

MySQL—— 数据库操作基础 和 常用语法(DDL,DML,DQL,DCL)