精华内容
下载资源
问答
  • DQL

    2020-10-09 13:02:14
    13-DQL-查询数据准备和查询语法介绍 14-DQL-查询全部 15-DQL-条件查询 16-DQL-聚合函数查询 17-DQL-排序查询 18-DQL-分组查询 19-DQL-分页查询 8.DQL-单表查询 数据准备(直接复制执行即可) -- 创建db1数据库 ...

    13-DQL-查询数据准备和查询语法介绍

    8.DQL-单表查询

    • 数据准备(直接复制执行即可)
    -- 创建db1数据库
    CREATE DATABASE db1;
    
    -- 使用db1数据库
    USE db1;
    
    -- 创建数据表
    CREATE TABLE product(
    	id INT,				-- 商品编号
    	NAME VARCHAR(20),	-- 商品名称
    	price DOUBLE,		-- 商品价格
    	brand VARCHAR(10),	-- 商品品牌
    	stock INT,			-- 商品库存
    	insert_time DATE    -- 添加时间
    );
    
    -- 添加数据
    INSERT INTO product VALUES (1,'华为手机',3999,'华为',23,'2088-03-10'),
    (2,'小米手机',2999,'小米',30,'2088-05-15'),
    (3,'苹果手机',5999,'苹果',18,'2088-08-20'),
    (4,'华为电脑',6999,'华为',14,'2088-06-16'),
    (5,'小米电脑',4999,'小米',26,'2088-07-08'),
    (6,'苹果电脑',8999,'苹果',15,'2088-10-25'),
    (7,'联想电脑',7999,'联想',NULL,'2088-11-11');
    
    • 查询语法
    select
    	字段列表
    from
    	表名列表
    where
    	条件列表
    group by
    	分组字段
    having
    	分组之后的条件
    order by
    	排序
    limit
    	分页限定
    

    14-DQL-查询全部

    • 查询全部
    -- 标准语法
    SELECT * FROM 表名;
    
    -- 查询product表所有数据
    SELECT * FROM product;
    
    • 查询部分

      • 多个字段查询
      -- 标准语法
      SELECT 列名1,列名2,... FROM 表名;
      
      -- 查询名称、价格、品牌
      SELECT NAME,price,brand FROM product;
      
      • 去除重复查询
        • 注意:只有全部重复的才可以去除
      -- 标准语法
      SELECT DISTINCT 列名1,列名2,... FROM 表名;
      
      -- 查询品牌
      SELECT brand FROM product;
      -- 查询品牌,去除重复
      SELECT DISTINCT brand FROM product;
      
      • 计算列的值(四则运算)
      -- 标准语法
      SELECT 列名1 运算符(+ - * /) 列名2 FROM 表名;
      
      /*
      	计算列的值
      	标准语法:
      		SELECT 列名1 运算符(+ - * /) 列名2 FROM 表名;
      		
      	如果某一列为null,可以进行替换
      	ifnull(表达式1,表达式2)
      	表达式1:想替换的列
      	表达式2:想替换的值
      */
      -- 查询商品名称和库存,库存数量在原有基础上加10
      SELECT NAME,stock+10 FROM product;
      
      -- 查询商品名称和库存,库存数量在原有基础上加10。进行null值判断
      SELECT NAME,IFNULL(stock,0)+10 FROM product;
      
      • 起别名
      -- 标准语法
      SELECT 列名1,列名2,... AS 别名 FROM 表名;
      
      -- 查询商品名称和库存,库存数量在原有基础上加10。进行null值判断。起别名为getSum
      SELECT NAME,IFNULL(stock,0)+10 AS getsum FROM product;
      SELECT NAME,IFNULL(stock,0)+10 getsum FROM product;
      

    15-DQL-条件查询

    • 条件查询

      • 条件分类
      符号 功能
      > 大于
      < 小于
      >= 大于等于
      <= 小于等于
      = 等于
      <> 或 != 不等于
      BETWEEN … AND … 在某个范围之内(都包含)
      IN(…) 多选一
      LIKE 占位符 模糊查询 _单个任意字符 %多个任意字符
      IS NULL 是NULL
      IS NOT NULL 不是NULL
      AND 或 && 并且
      OR 或 || 或者
      NOT 或 ! 非,不是
      • 条件查询语法
      -- 标准语法
      SELECT 列名 FROM 表名 WHERE 条件;
      
      -- 查询库存大于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 '_为%';
      
      -- 查询名称为四个字符的商品信息
      SELECT * FROM product WHERE NAME LIKE '____';
      
      -- 查询名称中包含电脑的商品信息
      SELECT * FROM product WHERE NAME LIKE '%电脑%';
      

    16-DQL-聚合函数查询

    • 聚合函数

      • 将一列数据作为一个整体,进行纵向的计算
      • 聚合函数分类
      函数名 功能
      count(列名) 统计数量(一般选用不为null的列)
      max(列名) 最大值
      min(列名) 最小值
      sum(列名) 求和
      avg(列名) 平均值
      • 聚合函数语法
      -- 标准语法
      SELECT 函数名(列名) FROM 表名 [WHERE 条件];
      
      -- 计算product表中总记录条数
      SELECT COUNT(*) FROM product;
      
      -- 获取最高价格
      SELECT MAX(price) FROM product;
      -- 获取最高价格的商品名称
      SELECT NAME,price FROM product WHERE price = (SELECT MAX(price) FROM product);
      
      -- 获取最低库存
      SELECT MIN(stock) FROM product;
      -- 获取最低库存的商品名称
      SELECT NAME,stock FROM product WHERE stock = (SELECT MIN(stock) FROM product);
      
      -- 获取总库存数量
      SELECT SUM(stock) FROM product;
      -- 获取品牌为苹果的总库存数量
      SELECT SUM(stock) FROM product WHERE brand='苹果';
      
      -- 获取品牌为小米的平均商品价格
      SELECT AVG(price) FROM product WHERE brand='小米';
      

    17-DQL-排序查询

    • 排序查询

      • 排序分类
        • 注意:多个排序条件,当前边的条件值一样时,才会判断第二条件
      关键词 功能
      ORDER BY 列名1 排序方式1,列名2 排序方式2 对指定列排序,ASC升序(默认的) DESC降序
      • 排序语法
      -- 标准语法
      SELECT 列名 FROM 表名 [WHERE 条件] ORDER BY 列名1 排序方式1,列名2 排序方式2;
      
      -- 按照库存升序排序
      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;
      

    18-DQL-分组查询

    • 分组查询
    -- 标准语法
    SELECT 列名 FROM 表名 [WHERE 条件] GROUP BY 分组列名 [HAVING 分组后条件过滤] [ORDER BY 排序列名 排序方式];
    
    -- 按照品牌分组,获取每组商品的总金额
    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) AS getSum FROM product WHERE price > 4000 GROUP BY brand HAVING getSum > 7000;
    
    -- 对金额大于4000元的商品,按照品牌分组,获取每组商品的总金额,只显示总金额大于7000元的、并按照总金额的降序排列
    SELECT brand,SUM(price) AS getSum FROM product WHERE price > 4000 GROUP BY brand HAVING getSum > 7000 ORDER BY getSum DESC;
    

    19-DQL-分页查询

    • 分页查询
    -- 标准语法
    SELECT 列名 FROM 表名 [WHERE 条件] GROUP BY 分组列名 [HAVING 分组后条件过滤] [ORDER BY 排序列名 排序方式] LIMIT 开始索引,查询条数;
    -- 公式:开始索引 = (当前页码-1) * 每页显示的条数
    
    -- 每页显示2条数据
    SELECT * FROM product LIMIT 0,2;  -- 第一页 开始索引=(1-1) * 2
    SELECT * FROM product LIMIT 2,2;  -- 第二页 开始索引=(2-1) * 2
    SELECT * FROM product LIMIT 4,2;  -- 第三页 开始索引=(3-1) * 2
    SELECT * FROM product LIMIT 6,2;  -- 第四页 开始索引=(4-1) * 2
    
    • 分页查询图解
    展开全文
  • MySQL—DQL语言(数据查询语言)

    万次阅读 2020-11-18 21:52:43
    MySQL—DQL语言(数据查询语言) 一、条件查询 (一)语法 select 查询列表 from 表名 where 筛选条件; (二)筛选条件的分类 1、简单条件运算符 > < = != >= <= <=>安全等于 2、逻辑运算符 and...

    MySQL—DQL语言(数据查询语言)

    一、条件查询

    (一)语法

    select 查询列表
    from 表名
    where 筛选条件;
    

    (二)筛选条件的分类

    1、简单条件运算符

    >   <   =   !=   >=   <=   <=>安全等于
    

    2、逻辑运算符

    and   or   not
    

    3、模糊查询

    like //一般搭配通配符使用,可以判断字符型或数值型
    //通配符:%任意多个字符;_任意单个字符
    between and
    in
    is null|is not null//用于判断null值
    

    二、排序查询

    (一)语法

    select 查询列表
    from 表名
    where 筛选条件
    order by 排序列表 [asc|desc];//asc升序,desc降序
    

    (二)特点

    1、asc:升序,如果不写默认升序

    2、排序列表支持单个字段、多个字段、函数、表达式、别名

    3、order by的位置一般放在查询语句的最后(limit语句除外)

    三、常见函数

    (一)概述

    功能:类似于Java中的方法

    好处:提高重用性和隐藏实现细节

    调用:select 函数名(实参列表)

    (二)单行函数

    1、字符函数

    /*concat:连接
    substr:截取子串
    upper:变大写
    lower:变小写
    replace:替换
    length:获取字节长度
    trim:去前后空格
    lpad:左填充
    rpad:右填充
    instr:获取子串第一次出现的索引
    */
    

    2、数学函数

    /*ceil:向上取整
    floor:向下取整
    round:四舍五入
    mod:取模
    truncate:截断
    rand:获取随机数,返回0-1之间的小数
    */
    

    3、日期函数

    /*now:返回当前日期+时间
    year:返回年
    month:返回月
    day:返回日
    date_format:将日期转化为字符
    curdate:返回当前日期
    str_to_date:将字符转换为日期
    curtime:返回当前时间
    hour:小时
    minute:分钟
    second:秒
    datediff:返回两个日期相差的天数
    monthname:以英文形式返回月
    */
    

    4、其他函数

    /*version:当前数据库服务器的版本
    database:当前打开的数据库
    user:当前用户
    password('字符'):返回该字符的密码形式
    md5('字符'):返回该字符的md5加密形式
    */
    

    5、流程控制函数

    if(条件表达式,表达式1,表达式2):如果条件表达式成立,返回表达式1,否则返回表达式2.
    
    case
    情况一: case 变量或表达式或字段
    		when 常量1 then 值1
    		when 常量2 then 值2
    		...
    		else 值n
    		end
    		
    情况二: case
    		when 条件1 then 值1
    		when 条件2 then 值2
    		...
    		else 值n
    		end
    

    (三)分组函数

    1、分类

    max:最大值
    min:最小值
    sum:和
    avg:平均值
    count:计算个数
    

    2、特点

    1、语法:select max(字段) from 表名;
    2、支持的类型:sum和avg一般用于处理数值型,max、min、count可以处理任何数据类型
    3、以上分组函数都忽略null值
    4、都可以搭配distinct使用,实现去重的统计  select sum(distinct 字段) from 表名;
    5、count函数:count(字段):统计该字段非空值的个数
    		  count(*):统计结果集的行数
              count(1):统计结果集的行数
    效率上:MyISAM存储引擎,count(*)最高
    	   InnoDB存储引擎,count(*)和count(1)效率>count(字段)
    6、和分组函数一同查询的字段,要求是group by后出现的字段
    

    四、分组查询

    (一)语法

    select 分组函数,分组后的字段
    from 表名
    [where 筛选条件]
    group by 分组的字段
    [having 分组后的筛选条件]
    [order by 排序列表]
    

    (二)特点

    使用关键字 筛选的表 位置
    分组前筛选 where 原始表 group by的前面
    分组后筛选 having 分组后的结果 group by的后面
    展开全文
  • DQL实例

    2020-12-15 00:34:39
    DQL实例1 DQL准备工作和语法准备工作语法2 简单查询3 条件查询4 排序查询5 聚合查询6 分组查询 重点难点having与where的区别:7 条数限制查询-- 重点重点重点 1 DQL准备工作和语法 准备工作 create database tb_mydb4...

    1 DQL准备工作和语法

    准备工作

    create database tb_mydb4;
    use tb_mydb4;
    #创建商品表:
    create table product(
        pid int primary key,
        pname varchar(20),
        price double,
        category_id varchar(32)
    );
    INSERT INTO product(pid,pname,price,category_id) VALUES(1,'联想',5000,'c001');
    INSERT INTO product(pid,pname,price,category_id) VALUES(2,'海尔',3000,'c001');
    INSERT INTO product(pid,pname,price,category_id) VALUES(3,'雷神',5000,'c001');
    INSERT INTO product(pid,pname,price,category_id) VALUES(4,'JACK JONES',800,'c002');
    INSERT INTO product(pid,pname,price,category_id) VALUES(5,'真维斯',200,'c002');
    INSERT INTO product(pid,pname,price,category_id) VALUES(6,'花花公子',440,'c002');
    INSERT INTO product(pid,pname,price,category_id) VALUES(7,'劲霸',2000,'c002');
    INSERT INTO product(pid,pname,price,category_id) VALUES(8,'香奈儿',800,'c003');
    INSERT INTO product(pid,pname,price,category_id) VALUES(9,'相宜本草',200,'c003');
    INSERT INTO product(pid,pname,price,category_id) VALUES(10,'面霸',5,'c003');
    INSERT INTO product(pid,pname,price,category_id) VALUES(11,'好想你枣',56,'c004');
    INSERT INTO product(pid,pname,price,category_id) VALUES(12,'香飘飘奶茶',1,'c005');
    INSERT INTO product(pid,pname,price,category_id) VALUES(13,'果9',1,NULL);
    

    语法

    select [distinct] 
    * | 列名,列名 
    fromwhere 条件
    

    2 简单查询

    mysql> desc product;
    +-------------+-------------+------+-----+---------+-------+
    | Field       | Type        | Null | Key | Default | Extra |
    +-------------+-------------+------+-----+---------+-------+
    | pid         | int(11)     | NO   | PRI | NULL    |       |
    | pname       | varchar(20) | YES  |     | NULL    |       |
    | price       | double      | YES  |     | NULL    |       |
    | category_id | varchar(32) | YES  |     | NULL    |       |
    +-------------+-------------+------+-----+---------+-------+
    
    • 查询所有的商品.
    select * from product;
    
    • 查询商品名和商品价格.
    select pname,price from product;
    
    • 查询价格,去掉重复值.
    select price from product;
    select distinct price from product;
    
    • 查询结果是表达式(运算查询):将所有商品的价格+10元进行显示.
    select pname, price, (price + 10) from product;
    
    • 别名查询.使用的关键字是as(as可以省略的).列别名
    select pname as 商品名称, price as 商品价格 from product;
    
    • 别名查询.使用的关键字是as(as可以省略的).表别名
    select pname 商品名称, price 商品价格 from product;
    

    3 条件查询

    比较运算符 < <= > >= = <> 大于、小于、大于(小于)等于、不等于
    BETWEEN …AND… 显示在某一区间的值(含头含尾) score>=80 and score<=90 score between 80 and 100
    IN(set) 显示在in列表中的值,例:in (100,200) age=100 or age=200
    LIKE ‘字符’ 模糊查询,like语句中,% 代表零个或多个任意字符,_ 代表一个字符, 例如:first_name like ‘_a%’;
    IS NULL 判断是否为空
    逻辑运行符 and 多个条件同时成立
    or 多个条件任一成立
    not 不成立,例:where not(salary>100);
    mysql> desc product;
    +-------------+-------------+------+-----+---------+-------+
    | Field       | Type        | Null | Key | Default | Extra |
    +-------------+-------------+------+-----+---------+-------+
    | pid         | int(11)     | NO   | PRI | NULL    |       |
    | pname       | varchar(20) | YES  |     | NULL    |       |
    | price       | double      | YES  |     | NULL    |       |
    | category_id | varchar(32) | YES  |     | NULL    |       |
    +-------------+-------------+------+-----+---------+-------+
    
    • 查询商品名称为“花花公子”的商品所有信息:
    select * from product
    where  pname = '花花公子';
    
    • 查询价格为800商品
    select * from product
    where price=800;
    
    • 查询价格不是800的所有商品
    select * from product
    where price!=800;
    
    select * from product
    where price <> 800;
    
    • 查询商品价格大于60元的所有商品信息
    select * from product
    where price > 60;
    
    • 查询商品价格在200到1000之间所有商品
    select * from product
    where price>=200 and price<=1000;
    
    select * from product
    where price between 200 and 1000;
    
    • 查询商品价格是200或800的所有商品
    select * from product
    where price=200 or price=800;
    
    select * from product
    where price in (200, 800);
    
    • LIKe 中的 %代表匹配任意长度的任意字符; _代表匹配一个任意字符
    • 查询商品名称含有’霸’字的所有商品
    select * from product
    where pname like '%霸%';
    
    • 查询商品名称以’香’开头的所有商品
    select * from product
    where pname like '香%';
    
    • 查询商品名称第二个字为’想’的所有商品
    select * from product
    where pname like '_想%';
    
    • 商品没有分类id的商品
    select * from product
    where category_id is null;
    
    • 查询有分类id的商品
    select * from product
    where category_id is not null;
    

    4 排序查询

    • 通过order by语句,可以将查询出的结果进行排序。暂时放置在select语句的最后。
    • 格式:
    SELECT * FROM 表名 ORDER BY 排序字段 ASC|DESC;
    #ASC 升序 (默认), 从小到大排序
    #DESC 降序, 从大到小排序
    
    mysql> desc product;
    +-------------+-------------+------+-----+---------+-------+
    | Field       | Type        | Null | Key | Default | Extra |
    +-------------+-------------+------+-----+---------+-------+
    | pid         | int(11)     | NO   | PRI | NULL    |       |
    | pname       | varchar(20) | YES  |     | NULL    |       |
    | price       | double      | YES  |     | NULL    |       |
    | category_id | varchar(32) | YES  |     | NULL    |       |
    +-------------+-------------+------+-----+---------+-------+
    
    • 使用价格排序(降序)
    select * from product
    order by price desc;
    
    • 在价格排序(降序)的基础上,以分类排序(降序)
    select * from product
    order by price desc, category_id desc;
    
    • 显示商品的价格(去重复),并排序(降序)
    select distinct price from product;
    

    5 聚合查询

    • 之前我们做的查询都是横向查询,它们都是根据条件一行一行的进行判断,而使用聚合函数查询是纵向查询,它是对一列的值进行计算,然后返回一个单一的值;另外聚合函数会忽略空值。
    • 五个聚合函数:
      • count:统计指定列不为NULL的记录行数;
      • sum:计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0;
      • max:计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;
      • min:计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;
      • avg:计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0;
    • 查询商品的总条数
    select count(*) from product; # 13
    select count(pid) from product; #  13
    select count(category_id) from product; # 12? 13?
    select pid from product;
    select count(1) from product;
    
    • 查询价格大于200商品的总条数
    select count(1) from product
    where price>200;
    
    • 查询分类为’c001’的所有商品的价格总和
    select sum(price) from product
    where category_id='c001';
    
    • 查询分类为’c002’所有商品的平均价格
    select avg(price) from product
    where category_id='c002';
    
    • 查询商品的最高价格和最底价格
    select min(price) 最低价格,max(price) 最高价格 from product
    

    6 分组查询 重点难点

    • 分组查询是指使用group by字句对查询信息进行分组。
    • 格式:
    SELECT 字段1,字段2FROM 表名 
    where 条件 
    GROUP BY 分组字段 
    HAVING 分组条件;
    
    • 分组操作中的having子语句,是用于在分组后对数据进行过滤的,作用类似于where条件。

    having与where的区别:

    • having是在分组操作执行后, 对分组后的数据进行过滤.
    • where是在分组操作执行前, 对分组前的数据 只能使用表原始列进行条件过滤
    • having后面可以使用 聚合函数
    • where后面不可以使用 聚合函数。
    • 当一条SQL语句中, 既有where 又有 group by \ having时, 先执行 where, 再执行 group by, 最后执行having
    前提: 分组之后
    
    select 5 --只能写 被分组的列和聚合函数
    
    from 1
    
    where 2	--不能使用聚合函数
    
    group by 3
    
    having 4	--可以使用聚合函数, 加分组条件
    
    order by 6
    
    • 统计各个分类商品的个数
    select category_id, count(1)
    from product
    group by category_id;
    
    • 统计各个分类商品的个数,且只显示个数大于1的信息
    select category_id, count(1)
    from product
    group by category_id
    having count(1)>1;
    
    • 统计价格>200元的 各个分类商品的个数,且只显示个数大于1的信息
    select category_id,count(1)
    from product
    where price>200
    group by category_id
    having count(1)>1
    ;
    

    7 条数限制查询-- 重点重点重点

    • LIMIT是MySQL内置函数,其作用是用于限制查询结果的条数。
    • 格式: select * from 表名 limit m,n
    • 其中: m是指记录开始的index,从0开始,表示第一条记录,n是指从第m+1条开始,取n条。
    • 例如:
     select * from tablename limit 2,4 -- 即取出第3条至第6条,4条记录    
    
    • 应用场合:分页
    • 分页查询格式:
    SELECT * FROM 表名 LIMIT startRow,pageSize;
    
    • 例如:
    select * from products limit 0,5;   #第一页,每页显示5条。
    select * from products limit 5,5;   #第二页,每页显示5条。
    select * from products limit 10,5;  #第三页,每页显示5条。
    select * from products limit startRow,5; #第curPage页,每页显示5条, startRow的值如何计算呢?
    
    -- 后台计算出页码、页数(页大小)
    -- 分页需要的相关数据结果分析如下,
    -- 注意:下面是伪代码不用于执行
    int curPage = 2; -- 当前页数
    int pageSize = 5; -- 每页显示数量
    int startRow = (curPage - 1) * pageSize; -- 当前页, 记录开始的位置(行数)计算
    int totalSize = select count(*) from products; -- 记录总数量
    int totalPage = Math.ceil(totalSize * 1.0 / pageSize); -- 总页数
    

    在这里插入图片描述

    展开全文
  • 聊聊SQL语句中 DDL 、DML 、DQL 、DCL 分别是什么

    万次阅读 多人点赞 2021-03-27 19:20:07
    分别介绍数据库中 DDL、 DML、 DQL、 DCL 这四者的概念/区别。

    数据库的核心语言就是SQL语言,那 DDL、DML、DQL、DCL 分别是什么?下面谈谈这四者的概念。

    一、 DDL 语句

    DDL(Data Definition Language)语句: 数据定义语言,主要是进行定义/改变表的结构、数据类型、表之间的链接等操作。常用的语句关键字有 CREATE、DROP、ALTER 等。

     
    模板如下:

    CREATE TABLE 表名(
    列名1 数据类型,
    列名2 数据类型,
    列名3 数据类型,
    ...
    )
    
    ALTER TABLE 表名;
    eg:ALTER TABLE 表名 ADD 列名 数据类型;(添加一个列)
        ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;(修改列名)
        ALTER TABLE 表名 DROP 列名;
    
    DROP TABLE 表名;
    DROP DATABASE 数据库名;
    

     

    二、 DML 语句

    DML(Data Manipulation Language)语句: 数据操纵语言,主要是对数据进行增加、删除、修改操作。常用的语句关键字有 INSERT、UPDATE、DELETE 等。

     
    DDL 语句与DML 语句的主要区别:

      DDL DML
    名称 数据定义语言 数据操纵语言
    区别 数据库内部的对象进行创建、删除、修改操作 只是对表内部数据进行操作 (不涉及到表的定义、结构的修改,也不涉及到其他对象)

     
    模板如下:

    INSERT INTO 表名 (字段1,字段2,...) values (某值,某值,...),(某值,某值,...);
    
    UPDATE 表名 SET 列名=新值 WHERE 限定条件;
    
    DELETE FROM 表名 WHERE 限定条件;
    

     

    三、 DQL 语句

    DQL(Data Query Language)语句:数据查询语言,主要是对数据进行查询操作。常用关键字有 SELECT、FROM、WHERE 等。

     
    模板如下:

    SELECT 列名 FROM 表名 WHERE 限定条件;
    

     

    四、 DCL 语句

    DCL(Data Control Language)语句: 数据控制语言,主要是用来设置/更改数据库用户权限。常用关键字有 GRANT、REVOKE 等。
    一般人员很少用到DCL语句。

     
    模板如下:

    GRANT (授权)
    
    REVOKE (取消权限)
    

    如果文章对您有帮助,请点个,留给评论支持一下😊,若有疑问可以私信留言😉。如果能给个三连(点赞收藏关注 )就最好啦😁。

    展开全文
  • DQL语句

    千次阅读 2018-05-16 23:30:57
    DQL语句查询不会对数据库中的数据进行修改.只是一种显示数据的方式Data Query Language DQL 数据查询语句,用于查询简单查询查询表所有行和列的数据 使用*表示所有列 SELECT * FROM 表名;  具体操作: SELECT * ...
  • DQL查询

    2021-04-13 18:55:49
    DQL查询 1.基础查询:select 字段名 from 表名; a. 查询所有列:select * from 表名; b. 查询指定列:select 字段1,字段2 from 表名; 2.条件查询 常见的运算符:where,and , or,in:包含,在什么里面, between...
  • DQL数据查询语言.xmind

    2021-06-07 16:45:17
    数据库SQL语句总结 DQL数据查询语言
  • DQL基础

    2020-08-31 18:49:56
    DQL基础 select from where 空值 ​ is null 列别名 ​ 列名 别名 ​ 列名 as 别名 消除重复 ​ select distinct 特殊运算 ​ between 下限 and 上限 ​ like ‘%%’ _占一个字符 %代表零或任意个字符 ​ in ( , ) ...
  • DQL 学习2 -- DQL声明

    2018-03-15 06:41:27
    将对象名和属性名用双引号括起来, 这样可以避免和DQL的保留值和数据库的保留字发生命名冲突。 Abort ABORT [TRAN[SACTION]] Alter Group ALTER GROUP group_name ADD members ALTER GROUP group_name DROP ...
  • MYSQL- DQL

    万次阅读 2020-07-01 00:53:32
    DQL 排序查询 … order by keyword ASC/DESC 如果升 / 降序不写,默认升序 聚合函数 将一列作为一个整体,做纵向计算 会排除 null 值 解决:使用 IFNULL () 函数或选择非空列 count 计算个数 SELECT COUNT(english) ...
  • DQL语言(SELECT)用法

    2021-02-19 08:23:19
    DQL语言(SELECT)用法
  • DQL 模糊查询

    2021-04-01 23:32:44
    DQL 模糊查询 like与% 下划线 查询包含
  • DQL条件查询

    2021-04-01 21:08:40
    DQL条件查询 所有的数据 比较运算符 查找相等
  • MySQL-DQL

    2019-08-23 22:41:31
    1.DQL操作 select:字段、表达式(控制结果集的内容) from:表/视图/结果集(控制从什么地方查询) where:条件(简单,组合条件等) order by:字段(排序 asc|desc) group by:字段(分段) 1.1查询语句 #DQL #1.查询...
  • 数据库之DQL

    2019-08-19 13:18:45
    #数据库之DQL
  • MYSQL_DQL思维导图

    2018-09-24 14:33:52
    SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。1. 数据查询语言DQL数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块:SELECT <字段名表>FROM...
  • DQL-MySQL

    2021-04-22 13:29:56
    DQL DQL use db1; create table emp( eid int, ename varchar(20), sex char(1), salary double, hire_date date, dept_name varchar(20) ); INSERT INTO emp VALUES(1,'孙悟空','男',7200,'2013-02-04','...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,205
精华内容 14,482
关键字:

dql