本篇有很多关键字,都要记住,多练
目录
增
插入关键字 insert into(插入到)
赋值关键字 values(估价)
表插入就是
插入到 表名 估价 (); 这个是全列插入,表有几列字段就写几个值,用逗号隔开,
符号一律英文
insert into 表名 values (值,值,值);
精准插入,就是在表名后面加个括号,括号里写你要插入的字段名
insert into 表名(字段名,字段名,字段名) values (值,值,值);
values后面的值一定要和前面 字段名对上不然会报错
查询(不会影响表内数据)
案例
create table booksTable (
bookName varchar(20),
id int,
price decimal(20,2),
type varchar(20)
);
-- 以这个表为例
insert into booksTable values ('MySQL',1,66.6,'技术'),
('格林童话',2,30,'儿童'),
('查理九世一',3,20,'解密'),
('查理九世二',4,30,'解密'),
('查理九世三',5,37,'解密');
关键字 select (选择)
关键字 from (从...起)
select from 从中选择
全列查询
select * from 表名;
(* 可以理解成所有列)
显示所有列
select * from booksTable ;
指定列查询
select 列名,列名,列名 from booksTable;
显示 名字 金额 类别
select bookName ,price,type from booksTable;
查询字段为表达式
显示查+10;
select bookName ,price+10,type from booksTable;
别名
关键字 as
字段名 sa 别名
select bookName as '名字',price,type from booksTable;
重去
关键字 distinct (独特的)
给 price 去重
select distinct price from booksTable;
条件查询 where
要了解条件查询先要了解运算符
比较运算符
>, >=, <, <= | 大于,大于等于,小于,小于等于 |
= | 等于,NULL 不安全,例如 NULL = NULL 的结果是 NULL |
<=> | 等于,NULL 安全,例如 NULL <=> NULL 的结果是 TRUE(1) |
!=, <> | 不等于 |
BETWEEN a0 AND a1 | 范围匹配,[a0, a1],如果 a0 <= value <= a1,返回 TRUE(1) |
IN (option, ...) | 如果是 option 中的任意一个,返回 TRUE(1) |
IS NULL | 是 NULL |
IS NOT NULL | 不是 NULL |
LIKE | 模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字 符 |
逻辑运算符
AND | 多个条件必须都为 TRUE(1),结果才是 TRUE(1) |
OR | 任意一个条件为 TRUE(1), 结果为 TRUE(1) |
NOT | 条件为 TRUE(1),结果为 FALSE(0) |
下面演示一下简单 演示一下
条件查询关键字where (在什么的情况下)
基本查询
查一下金额大于30
select bookName ,price,type from booksTable where price > 30;
select bookName ,price,type from booksTable where price < 30;
其他 >= <= != <=> 都是一样的用法 放在where 后面
and or not
在其他编程语言里比如 c/c++/java
and == &&
or == ||
not == !
在SQL里用发是一样的
下面演示一下
select bookName ,price,type from booksTable where price >=20 and price <= 50;
其他 的 or not 用法都是一样就不演示了
范围查询
关键字between and
列明 between x and y (查询 x>= 列 <= y) 在where 后面
select bookName ,price,type from booksTable where price between 20 and 50;
关键字 in
in(条件,条件,条件)
显示一下 金额20 或者 30 的书
select bookName ,price,type from booksTable where price in(20,30);
模糊查询 like
有两个符号 _ 匹配严格的一个任意字符
% 匹配任意多个(包括 0 个)字符
符号都是在字符串后面
下面查一下查理开头的书%后面匹配任意字符
select bookName ,price,type from booksTable where bookName like '查%';
下面查一下查理九世开头的书_后面匹配任意一个字符
select bookName ,price,type from booksTable where bookName like '查理九世_';
空查询 is null is not null
select bookName ,price,type from booksTable where bookName is null;
select bookName ,price,type from booksTable where bookName is not null;
这个就不演示了
分页查询
关键字 limit offset
limit 显示几条 offset 从低一条开始
select *from booksTable limit 3 offset 0;
修改
update 表名 set 列名 = 值 , 列名 = 值 ...where 条件
下面我将格林童话 修改为40
update booksTable set price = 40 where bookName <=> '格林童话';
全部显示一下
将满足条件进行修改 ,不给条件全修改
删除
表删除关键字 delete
用法
delete from 表名 where 条件
下面演示 ,删除格林童话
delete from booksTable where bookName <=> '格林童话';
复习
增加 insert into .........values
查找 select .....from ......
修改 update .....set.....
删除 delete from ..........
SQL 初学的时候有点蓝瘦