mySql小白使用的查询语句
表名:数据库下的表
表key:表名下的key值
不管怎么叫,并不是专门弄数据库,我理解就行了
数据简单查询:
- 列出不重复的表key值
- select distinct 表key from 表名;
- 查询前5条数据
- select 表key from 表名 limit 5;
- 查询5条-10条的数据
- select 表key from 表名 limit 5,5;
插入数据:
- 插入一行完整的数据:
- insert into 表名 values (null,‘abc’,‘bcld’,null,‘1975’);
- 插入一部分数据
- insert into 表名(表key1,表key2,表key3) values (‘cde’,‘ddd’,‘1956’);
- 插入多个行的数据
- inset into 表名(表key1,表key2,表key3) values (‘aaa’,‘bbb’,‘ccc’),(‘ddd’,‘eee’,‘fff’),(‘ggg’,‘hhh’,‘iii’);
- 插入多行数据,—查询其它表
- insert into 表名2 select * from 表名1;
查询数据的简单排序:
- 单个字段的排序
- select 表key from 表名 order by 表key 【查询表key并按默认的1-9,a-z进行排序】
- 多个字段的排序
- select 表key1,表key2,表key3 from 表名 order by 表key2,表key3; 【查询出来的数据按表key2进行排序,如果表key2值相同按表key3排序】
- 指定排序的方式
- asc 【默认升序排序0-9,a-z】 desc 【降序排序9-0,z-a排序】用法如下—单个字段,多个字段类似
- 按照指定排序顺序排列----多字段
- select 表key1,表key2,表key3 from 表名 order by 表key1 asc,表key2 desc;【先按表key1升序排序,如果有相同值在按表key2降序排序】
- demo找出最贵的商品:
- select price from 表名 order by price asc limit 1;
- demo找出最便宜的商品:
- select price from 表名 order by desc limit 1;
mySql过滤语句之各种条件语句的筛选
- 使用where语句
- select 表key1,表key2,表key3 from 表名 where 表key1=2.5;
- 筛选符号:
- =
- >
- <
- >=
- <=
- <> 不等于
- != 不等于
- between 【范围】
- demo范围检查—找出价格在5-10之间的
- 1.select price from 表名 where price>=5 and price<=10;
- 2.select price from 表名 where price between 5 and 10;
mySql空值检查
- 1.select 表key from 表名 where 表key is null;
- 2.select * from 表名 where 表key is null;
mySql中的操作符
- and 【并且】 优先级大于or
- or 【 和 两者都满足】与and同用时可加上()更改其权限如:
- (表key1=1 or 表key2=5) and 表key3=5.5;
- in *【可代替or】 如:有需要匹配表key1=100又要匹配表key1=200可写成 *
- where key1 in (100,200);
- not 【条件取反】 如:不匹配表key1=100不匹配表key1=200的数据
- where key1 not in (100,200);
通配符过滤符 like
- 百分号%: 可代表多个和零个字符
- 下划线_: 一个下划线代表零和一个字符
- 匹配字段以jak开头的数据
- select 表key1,表key2,表key3 from 表名 where 表key2 like ‘jak%’;
- 匹配字段包含jak字符的数据
- select 表key1,表key2,表key3 from 表名where 表key2 like ‘%jak%’;
- 匹配开头为j结尾为k的数据
- select 表key1,表key2,表key3 from 表名 where 表key2 like ‘j%k’;
使用正则表达式匹配数据 regexp
- 匹配表key值中包含1000的数据
- select 表key from where 表key regexp ‘1000’
- 匹配000的产品信息 【正则中 . 在中括号的外部,表示任意字符】
- where 表key from regexp ‘.000’;
- 使用正则or进行匹配
- where 表key from regexp ‘100|200’;
- 范围匹配 1 jak 和 2 jak
- where 表key from regexp ‘[12] jak’
- 返回排除指定数据的数据 ^符号在[^]中代表排除在外部则代表头部
- where 表key regexp ‘[^3] jak’
- **.**号的使用 正则中 . 代表任意字符需要进行 \\ 转义
- 正则匹配,可有可无的值如:(1 stick) 和 (5 sticks)
- regexp ‘\\([0-9] sticks?\\)’
- 正则匹配,98415 写法 ‘[[:digit:]{5}]’
- 正则匹配以点号开头的数据
- ‘^[\\.]’
- 正则匹配以点号结尾的数据
- ‘[\\.]$’