SQL 语句分类:

  • DDL(Data Definition Language) :数据定义语言。用来操作数据库,表,列等。
  • DML(Data Manipulation Language) :数据操作语言。用来对数据库中表的数据进行增删改。
  • DQL(Data Query Language) :数据查询语言。用来查询数据库中表的记录(数据)。
  • DCL(Data Control Language) :数据控制语言。用来定义数据库的访问权限和安全级别,及创建用户。

1. DDL-操作数据库

-- 查询所有数据库
SHOW DATABASES;
-- 查询数据库的创建语言
SHOW CREATE DATABASE mysql;-- 创建数据库
CREATE DATABASE yulu;
-- 创建数据库,如果不存在才创建
CREATE DATABASE IF NOT EXISTS yulu;-- 创建数据库并指定字符集utf8
CREATE DATABASE liulu CHARACTER SET utf8;
-- 查看数据库的字符集
SHOW CREATE DATABASE liulu;-- 创建数据库并指定字符集为gbk
CREATE DATABASE IF NOT EXISTS fang CHARACTER SET gbk;
SHOW CREATE DATABASE fang;
-- 修改数据库的字符集
ALTER DATABASE fang CHARACTER SET utf8;
SHOW CREATE DATABASE fang;-- 删除数据库
DROP DATABASE fang;
-- 删除数据库,如果数据库存在
DROP DATABASE IF EXISTS fang;-- 使用yulu数据库
USE yulu;
-- 查询当前正在使用的数据库
SELECT DATABASE();

2. DDL-操作数据表

-- 使用mysql数据库
USE mysql;
-- 查询数据库中所有的表
SHOW TABLES;
-- 查询user表的结构
DESC USER;-- 查询mysql数据库中user表字符集
SHOW TABLE STATUS FROM mysql LIKE 'user';-- 在yulu数据库中创建product商品表(商品编号、商品名称、商品价格、商品库存、上架时间)
USE yulu;
CREATE TABLE product(id INT,NAME VARCHAR(20),price DOUBLE,stock INT,insert_time DATE
);
-- 查看表的详细结构
DESC product;-- 修改product表名为goods
ALTER TABLE product RENAME TO goods;
-- 查看语录数据库中的goods表的字符集
SHOW TABLE STATUS FROM yulu LIKE 'goods';
-- 修改goods表的字符集为gbk
ALTER TABLE goods CHARACTER SET gbk;-- 给goods表添加一列color
ALTER TABLE goods ADD color VARCHAR(10);
DESC goods;-- 将color的数据类型修改为int
ALTER TABLE goods MODIFY color INT;
DESC goods;-- 将color修改为address
ALTER TABLE goods CHANGE color address VARCHAR(200);
DESC goods;-- 删除address列
ALTER TABLE goods DROP address;
DESC goods;-- 删除表goods
DROP TABLE goods;
SHOW TABLES;
-- 删除表goods,如果存在则删除
DROP TABLE IF EXISTS goods;

3. DML-增加、修改、删除表中数据

-- 首先在yulu数据库中创建一个新表
USE yulu;
CREATE TABLE books(id VARCHAR(5),NAME VARCHAR(20),price DOUBLE,stock INT,insert_time DATE
);-- 增加-- 向books表中添加一条数据
INSERT INTO books(id,NAME,price,stock,insert_time)
VALUES('001','神雕侠侣',99.8,6000,'1997-2-18');-- 向books表添加指定列数据
INSERT INTO books(id,NAME,price) VALUES ('002','射雕英雄传',89.9);-- 默认给全部列添加数据
INSERT INTO books VALUES('003','天龙八部',66.8,520,'1996-6-8');-- 批量添加多条数据
INSERT INTO books
VALUES ('004','流星蝴蝶剑',36.5,236,'1993-9-12'),('005','笑傲江湖',108.9,200,'1991-7-21');-- 修改-- 将《神雕侠女》的库存修改为390
UPDATE books SET stock=390 WHERE NAME='神雕侠侣';-- 修改《射雕英雄传》的库存为29,上架时间为1989-1-1
UPDATE books SET stock=29,insert_time='1989-1-1' WHERE NAME='射雕英雄传';-- 删除-- 删除books表中的《流星蝴蝶剑》信息
DELETE FROM books WHERE NAME='流星蝴蝶剑';-- 删除表中库存小于30的书籍信息
DELETE FROM books WHERE stock<30;

4. DQL-表数据查询(重点)

4.1 查询全部数据

-- 查询表中全部信息
SELECT * FROM product;-- 只查询商品名称、价格、品牌
SELECT NAME,price,brand FROM product;-- 查询品牌
SELECT brand FROM product;
-- 查询品牌并去除重复
SELECT DISTINCT brand FROM product;-- 查询商品名称和库存,库存数量在原有基础上加10
SELECT NAME,stock+10 FROM product;/* 如果某一列为null,可以进行替换ifnull(表达式1,表达式2)表达式1:想替换的列表达式2:想替换的值*/
-- 查询商品名称和库存,库存如果为null替换为0。库存数量在原有基础上加10
SELECT NAME,IFNULL(stock,0)+10 FROM product;-- 查询商品名称和库存,库存在原基础上加10,进行null值判断,并起别名getSum
SELECT NAME,IFNULL(stock,0)+10 AS getSum FROM product;
-- as可以不写
SELECT NAME,IFNULL(stock,0)+10 getSum FROM product;

4.2 条件查询

-- 查询库存大于20的商品信息
SELECT * FROM product WHERE stock > 20;
-- 查询品牌为华为的商品信息
SELECT * FROM product WHERE brand='华为';-- 查询价格在4000~6000的商品信息
SELECT * FROM product WHERE price >=4000 AND price <= 6000;
SELECT * FROM product WHERE price BETWEEN 4000 AND 6000;-- 查询库存为14、30、23的商品信息
SELECT * FROM product WHERE stock=14 OR stock=30 OR stock=23;
SELECT * FROM product WHERE stock IN(14,30,23);-- 查询库存为null的商品信息
SELECT * FROM product WHERE stock IS NULL;
-- 查询库存不为null的商品信息
SELECT * FROM product WHERE stock IS NOT NULL;-- 查询商品名称以‘小米’开头的商品信息
SELECT * FROM product WHERE NAME LIKE '小米%';
-- 查询商品名称第二个字是‘为’的商品信息
SELECT * FROM product WHERE NAME LIKE '_为%';
-- 查询商品名称为4个字符的商品信息
SELECT * FROM product WHERE NAME LIKE '____';
-- 查询商品名称中包含‘电脑’的商品信息
SELECT * FROM product WHERE NAME LIKE '%电脑%';

4.3 聚合函数查询

-- 计算product表中总记录条数
SELECT COUNT(*) FROM product;-- 获取商品最高价格
SELECT MAX(price) FROM product;-- 获取商品最低库存
SELECT MIN(stock) FROM product;-- 获取库存总数
SELECT SUM(stock) FROM product;-- 获取品牌为‘苹果’的商品库存总量
SELECT SUM(stock) FROM product WHERE brand = '苹果';-- 获取品牌为小米的平均价格
SELECT AVG(price) FROM product WHERE brand = '小米';

4.4 排序、分组、分页查询

-- 排序查询-- 按照库存升序排序
SELECT * FROM product ORDER BY stock ASC;-- 查询商品名称包含‘手机’的商品信息,按照金额降序排序
SELECT * FROM product WHERE NAME LIKE '%手机%' ORDER BY price DESC;-- 按照金额升序排列,如果金额相同,按照库存降序排序
SELECT * FROM product ORDER BY price ASC,stock DESC;-- 分组查询-- 按照品牌分组,获取每组商品的总金额
SELECT brand,SUM(price) FROM product GROUP BY brand;-- 对金额大于4000元的商品,按照品牌分组,获取每组商品的总金额
SELECT brand,SUM(price) FROM product WHERE price>4000 GROUP BY brand;-- 对金额大于4000元的商品,按照品牌分组,获取每组商品的总金额,只显示总金额大于7000元的
SELECT brand,SUM(price) getSum FROM product where price > 4000 group by brand having getsum > 7000;-- 对金额大于4000元的商品,按照品牌分组,
-- 获取每组商品的总金额,只显示总金额大于7000元的、
-- 并按照总金额的降序排列
select brand,sum(price) getSum from product
where price > 4000
group by brand
having getSum > 7000
order by getSum DEsc;-- 分页查询
-- LIMIT 当前页数,每页显示的条数;
-- 公式:当前页数 = (当前页数-1) * 每页显示的条数-- 每页显示3条数据-- 第1页 当前页数=(1-1)* 3
select * from product limit 0,3;
-- 第2页 当前页数=(2-1)* 3
select * from product limit 3,3;
-- 第3页 当前页数=(3-1)* 3
select * from product limit 6,3;

如有错误欢迎留言评论,2021年7月8日  羽露风

DDL-操作数据库、操作数据表、DML-增加、修改、删除表中数据、DQL-表数据查询相关推荐

  1. 【02】Java进阶:18-MySQL基础、数据库概述、数据库的安装/卸载/启动/登录、SQL概述、DDL操作数据库、DDL操作表、DML增删改查、

    day18-MySql基础 今日内容 数据库概述 数据库安装和卸载 SQL语句 DDL-----操作数据库,操作表 DML-----操作记录(增删改) DQL------操作记录(查) 学习目标 能够 ...

  2. oracle 用户表数目,表大小,视图数目及表空间等查询增加修改删除操作

    oracle 用户表数目,表大小,视图数目及表空间等查询增加修改删除操作 查看当前用户的缺省表空间 SQL>select username,default_tablespace fromuser ...

  3. (二)DDL操作数据库

    3.3.1.1创建数据库 1.直接创建数据库 CREATE DATABASE 数据库名; 2.判断是否存在并创建数据库 CREATE DATABASE IF NOT EXISTS 数据库名: 3.创建 ...

  4. 数据表的新建 修改 删除 mysql

    数据表的新建 修改 删除 mysql 我们准备操做目标数据库了 操作哪个库,就选中哪个库 创建数据表 新建一个数据库 新建一个数据表(学生表) 数据表中记录:编号,姓名,成绩,身高 建库 建表 查看建 ...

  5. HIVE 增加修改删除字段

    HIVE 增加修改删除字段 非分区表 增加字段 修改字段(修改字段名称.类型.注释.顺序) 删除字段 分区表 新增字段 修改字段(change column) 替换字段(replace column) ...

  6. mysql利用触发器删除数据库_[数据库]mysql 触发器的创建 修改 删除

    [数据库]mysql 触发器的创建 修改 删除 0 2015-12-16 23:00:04 //做一个简单的练习,创建一个简单的触发器 完成添加文章的时候,自动加上时间,默认作者 为 '日记本的回忆' ...

  7. mysql 触发器 模板_MySQL 触发器例子(两张表同步增加和删除)

    MySQL 触发器例子(两张表同步增加和删除),有需要的朋友可以参考下. 例子1: 创建两个表,目的是在一个表里添加一条记录,另一个表也添加一条记录: DROP TABLE IF EXISTS tab ...

  8. 【数据库基础知识二】数据库DataBase(简称DB),数据库基本概念、DDL:数据定义语言,用来操作数据库对象、DML:数据操作语言,用来操作表中的数据

    14天阅读挑战赛 目录 数据库基本概念 数据库DataBase(简称DB) 数据库管理系统Database management system(简称DBMS) 如何操作DBMS? 连接数据库的方式: ...

  9. mysql之DDL操作--数据库

    SQL是操作关系数据库非常重要的一门编程语言 structure query language既然是语言自然可以编程,SQL的分类可依据操作对象的不同分为DDL,DML,DCL. 我们操作数据库如创建 ...

  10. MySQL进阶11--DDL数据库定义语言--库创建/修改/删除--表的创建/修改/删除/复制

    /*进阶 11 DDL 数据库定义语言库和表的管理一:库的管理:创建/修改/删除二:表的管理:创建/修改/删除创建: CREATE DATABASE [IF NOT EXISTS] 库名;修改: al ...

最新文章

  1. 思科OSPF辅助地址
  2. c#中位运算符的运用
  3. Java之static
  4. telnet 功能启用并测试端口是否正常
  5. linux ssh客户端_WinSCP软件双系统(Win-Linux)文件传输教程
  6. 记录一下:new的几种用法
  7. C# 使用RestSharp库实现POST请求
  8. 分析报告 | 在线教育APP的市场到底有多大?
  9. 什么是裸金属云服务器,适用于哪些场景,又有哪些优势?
  10. electron 通过nodejs的winre库实现软件开机自启动
  11. bfv同态加密_全同态加密BFV-(section 2-SHE)
  12. HBase学习-----javaAPI详细教程
  13. 如何白piao一台优质的华为云服务器
  14. linux的虚拟文件系统四(文件系统理论)
  15. ui九宫格切图_【九宫切图】什么是九宫绘图,九宫格绘法
  16. 移动设备IP地址的获取
  17. C#经常用到的编程词汇
  18. 关于大数据技术的演讲_大数据核心技术介绍:大数据处理技术
  19. 苏州博物馆计算机系统操作工,行车及铁钢包调度系统在炼钢厂应用.doc
  20. Android 画面自定义正方形笼罩层

热门文章

  1. SwiftUI 代码速查之 06 设置SwiftUI backgroundColor的方法与foregroundColor相同
  2. javascript分支语句
  3. 程序员一年中最佳跳槽时间是什么时候?这几个月的成功率高达50%
  4. 使用XRECODE II转换几乎任何音频格式
  5. 【数据库课设】企业员工薪酬系统
  6. 微信公众号开发小坑:确认访问的微信是否为已关注公众号,秘钥使用全局access_token不能使用局部变量access_token
  7. Illustrator 教程:了解路径和曲线
  8. 找不到php fpm.pid,如何修改 php-fpm的运行用户? 如何查看linux php-fpm.pid位置
  9. python获取实时股票价格_如何使用硒在网站上实时获取股票价格?
  10. c++数组初始化与删除用法大全