赞
踩
use 数据库名;
show tables;
该语句可以将当前数据库含有的所有表的表名显示出来。
desc 表名;
可以查看该表中的字段以及其类型。
语法:
create table 表名(
字段1名 数据类型1,
字段2名 数据类型2,
字段3名 数据类型3,
);
创建商品goods(商品编号goods_id,商品名goods_name, 单价unitprice, 商品类别category, 供应商provider):
insert into 表名 (列名) values (对应数据);
数量必须和定义表的列的数量及顺序一致,
前面可以省略列名,
插入多行数据时每行数据都要用括号括起来,括号之间使用逗号隔开。
insert into goods values (1,'面包',15.5,'食物','大润发');#插入单行数据
insert into goods values (2,'黄瓜',5.5,'蔬菜','大润发'),
(3,'白菜',1.5,'蔬菜','大润发');#插入多行数据
数量必须和指定列数量及顺序一致。
未指定的列默认插入null。
insert into goods (goods_id, goods_name,unitprice) values (3,'衣服',155);
insert into goods (goods_id, goods_name,unitprice) values (4,'裤子',105),(5,'鞋子',200);
insert into 待插入表名 列名1,列名2 查询语句;
查询结果与列要对应(数量,类型一一对应)。
危险操作。
select * from 表名;
将表中所有数据都查询出来。
select 列名1,列名2 from 表名;
将表中的被查询的列数据显示出来。
select 表达式1,表达式2 from 表名;
表达式可以是对列的操作,也可以是随便的表达式,都是一个表达式在结果集中拿出一列,列头表达式,列中表达式的结果。
对列的操作不会影响表中的真实数据,只会让该操作显示的结果集是表达式的结果。
select 字段1/表达式1 as 别名1,表达式2/字段2 as 别名2 from 表名;
select distinct 字段1/表达式1 from 表名;
select 字段1/表达式1,字段2/表达式2 as 别名 from 表名 order by 字段1/表达式1/别名1 desc/asc, 字段1/表达式1/别名1 desc/asc;
select 字段1/表达式1,字段2/表达式2 as 别名 from 表名 where 列名/表达式 比较/逻辑运算符 条件;
运算符 | 说明 |
---|---|
>, >=, <, <= | 大于,大于等于,小于,小于等于 |
= | 等于,NULL 不安全,例如 NULL = NULL 的结果是 NULL |
<=> | 等于,NULL 安全,例如 NULL <=> NULL 的结果是 TRUE(1) |
!=, <> | 不等于 |
between a0 and a1 | 范围匹配,[a0, a1],如果 a0 <= value <= a1,返回 TRUE(1) |
in(option1,option2,option3 …) | 如果是 option 中的任意一个,返回 TRUE(1) |
is null | 是 NULL结果是 TRUE(1) |
is not null | 不是 NULL结果是 TRUE(1) |
like | 模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字符 |
注意事项:
逻辑运算符:
运算符 | 说明 |
---|---|
and | 多个条件必须都为 TRUE(1),结果才是 TRUE(1),与Java中&&一样 |
or | 任意一个条件为 TRUE(1), 结果为 TRUE(1),与Java中逻辑或一样 |
not | 条件为 TRUE(1),结果为 FALSE(0),与Java中! 一样 |
where中不能使用别名,因为一个SQL查询语句的执行顺序是from->where->select->order by
。
select 字段1/表达式1,字段2/表达式2 from 表名 limit n;#从结果集第0行数据,拿n行数据
select 字段1/表达式1,字段2/表达式2 from 表名 limit m, n;#从结果集第m行数据,拿n行数据
select 字段1/表达式1,字段2/表达式2 from 表名 limit m offset n;#从结果集第n行数据,拿m行数据
注意事项:
使用offset时offset前是要取的行数,后是偏移量也就是开始的地方。
条件查询-> 排序 -> 分页查询。
select ... from 表名 where ... ORDER BY ... LIMIT n OFFSET s;
update 表名 set 字段1 = 修改值,字段2 = 修改值 where ... ORDER BY ... LIMIT n OFFSET s;
直接使用会导致该表中该列的值全部修改,是个危险操作,所以在使用时常常在后面加上条件查询等加以限制。
delete from 表名 where ... ORDER BY ... LIMIT n OFFSET s;
直接删除会将该表所有行全部删除,是危险操作,所以我们在后面常常加上条件查询等加以限制。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。