【MySQL】MySQL(一)SQL语句、约束、数据类型 (3)

新增格式2:默认给全部列添加数据

-- 标准语法 INSERT INTO 表名 VALUES (值1,值2,值3,...); -- 默认给全部列添加数据 INSERT INTO product VALUES (3,\'电视\',2999,18,\'2099-06-06\'); -- 查看表中所有数据 SELECT * FROM product;

新增格式3:批量添加数据

-- 默认添加所有列数据 标准语法 INSERT INTO 表名 VALUES (值1,值2,值3,...),(值1,值2,值3,...),(值1,值2,值3,...); -- 批量添加数据 INSERT INTO product VALUES (4,\'冰箱\',999,26,\'2099-08-08\'),(5,\'洗衣机\',1999,32,\'2099-05-10\'); -- 查看表中所有数据 SELECT * FROM product;-- 给指定列添加数据 标准语法INSERT INTO 表名(列名1,列名2,...) VALUES (值1,值2,...),(值1,值2,...),(值1,值2,...); -- 批量添加指定列数据 INSERT INTO product (id,NAME,price) VALUES (6,\'微波炉\',499),(7,\'电磁炉\',899); -- 查看表中所有数据 SELECT * FROM product;

注意事项

列名和值的数量以及数据类型要对应

除了数字类型,其他数据类型的数据都需要加引号(单引双引都可以,推荐单引)

DML-UPDATE语句

修改表数据语法

-- 标准语法 UPDATE 表名 SET 列名1 = 值1,列名2 = 值2,... [where 条件]; -- 修改手机的价格为3500 UPDATE product SET price=3500 WHERE NAME=\'手机\'; -- 查看所有数据 SELECT * FROM product; -- 修改电视的价格为1800、库存为36 UPDATE product SET price=1800,stock=36 WHERE NAME=\'电视\'; -- 修改电磁炉的库存为10 UPDATE product SET stock=10 WHERE id=7;

注意事项

修改语句中必须加条件

如果不加条件,则将所有数据都修改

DML-DELETE语句

删除表数据语法

-- 标准语法 DELETE FROM 表名 [WHERE 条件]; -- 删除product表中的微波炉信息 DELETE FROM product WHERE NAME=\'微波炉\'; -- 删除product表中库存为10的商品信息 DELETE FROM product WHERE stock=10; -- 查看所有商品信息 SELECT * FROM product;

注意事项

删除语句中必须加条件

如果不加条件,则将所有数据删除

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 分页限定

查询全部

-- 标准语法 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值判断。起别名为getSumSELECT NAME,IFNULL(stock,0)+10 AS getsum FROM product; SELECT NAME,IFNULL(stock,0)+10 getsum FROM product;

条件查询

条件分类

符号 功能
>   大于  
<   小于  
>=   大于等于  
<=   小于等于  
=   等于  
<> 或 !=   不等于  
BETWEEN ... AND ...   在某个范围之内(都包含)  
IN(...)   多选一  
LIKE 占位符   模糊查询 _单个任意字符 %多个任意字符  
IS NULL   是NULL  
IS NOT NULL   不是NULL  
AND 或 &&   并且  
OR 或 ||   或者  
NOT 或 !   非,不是  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzwggj.html