200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > DDL-操作数据库 操作数据表 DML-增加 修改 删除表中数据 DQL-表数据查询

DDL-操作数据库 操作数据表 DML-增加 修改 删除表中数据 DQL-表数据查询

时间:2019-11-08 22:15:35

相关推荐

DDL-操作数据库 操作数据表 DML-增加 修改 删除表中数据 DQL-表数据查询

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;-- 创建数据库并指定字符集utf8CREATE DATABASE liulu CHARACTER SET utf8;-- 查看数据库的字符集SHOW CREATE DATABASE liulu;-- 创建数据库并指定字符集为gbkCREATE 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表名为goodsALTER TABLE product RENAME TO goods;-- 查看语录数据库中的goods表的字符集SHOW TABLE STATUS FROM yulu LIKE 'goods';-- 修改goods表的字符集为gbkALTER TABLE goods CHARACTER SET gbk;-- 给goods表添加一列colorALTER TABLE goods ADD color VARCHAR(10);DESC goods;-- 将color的数据类型修改为intALTER TABLE goods MODIFY color INT;DESC goods;-- 将color修改为addressALTER TABLE goods CHANGE color address VARCHAR(200);DESC goods;-- 删除address列ALTER TABLE goods DROP address;DESC goods;-- 删除表goodsDROP 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');-- 修改-- 将《神雕侠女》的库存修改为390UPDATE books SET stock=390 WHERE NAME='神雕侠侣';-- 修改《射雕英雄传》的库存为29,上架时间为1989-1-1UPDATE 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;-- 查询商品名称和库存,库存数量在原有基础上加10SELECT NAME,stock+10 FROM product;/* 如果某一列为null,可以进行替换ifnull(表达式1,表达式2)表达式1:想替换的列表达式2:想替换的值*/-- 查询商品名称和库存,库存如果为null替换为0。库存数量在原有基础上加10SELECT NAME,IFNULL(stock,0)+10 FROM product;-- 查询商品名称和库存,库存在原基础上加10,进行null值判断,并起别名getSumSELECT 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 productwhere price > 4000group by brandhaving getSum > 7000order by getSum DEsc;-- 分页查询-- LIMIT 当前页数,每页显示的条数;-- 公式:当前页数 = (当前页数-1) * 每页显示的条数-- 每页显示3条数据-- 第1页 当前页数=(1-1)* 3select * from product limit 0,3;-- 第2页 当前页数=(2-1)* 3select * from product limit 3,3;-- 第3页 当前页数=(3-1)* 3select * from product limit 6,3;

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。