Mysql入门学习(4)
来源:互联网 发布:北京办公软件培训班 编辑:程序博客网 时间:2024/06/05 21:59
mysql必知必会学习笔记
1. 查看表结构
(1) SELECT COLUMNS tableName (2) DESC tableName 是语句(1)的快捷方式
2. 查看创建表的语句
SHOW CREATE TABLE tableName;
3. distinct 检索值不同的行
SELECT DISTINCT venid ,prod_name FROM products; 注意: 当前检索论文两列,只要这两列数据都相同时,才会去重复
4. 限制检索的行数
SELECT * FROM products LIMIT 4;// 仅取四行 SELECT * FROM products LIMIT 4 OFFSET 3 ;// 从第三行往后去四行(行数不足,有多少返回多少) SELECT * FROM products LIMIT 3,4 ;// 同上
5. 对检索的结果进行排序
// 根据prod_name 字段对检索的结果进行升序/降序排序 。 SELECT prod_id,prod_name ,prod_price FROM products ORDER BY prod_name ASC/DESC; // 默认是升序的,不需要指定升序 SELECT prod_id,prod_name ,prod_price FROM products ORDER BY prod_name ; // 根据多个列进行排序 按照排序声明的先后顺序先根据prod_price进行排序,如果prod_pricr相等,再根据prod_name排序,默认都是升序 SELECT prod_id,prod_name ,prod_price FROM products ORDER BY prod_price,prod_name ; // 指定prod_price 以降序排序,prod_name升序排序 SELECT prod_id,prod_name ,prod_price FROM products ORDER BY prod_price DESC ,prod_name ;
6. 条件组合查询
// and 和 or 优先是and 所以必须加括号 SELECT prod_id,prod_name ,prod_price FROM products WHERE prod_price >=10 and (vend_id=1003 OR vend_id=1002);
7. NOT IN
SELECT prod_id,prod_name ,prod_price FROM products WHERE prod_price NOT IN (10,19)
8. 通配符过滤
(1) % 表示在%出现的位置可以有任意个字符 SELECT prod_id,prod_name ,prod_price FROM products WHERE prod_name LIKE '%anvil%' (2) _ 功能同% 但是_只能匹配一个字符 SELECT prod_id,prod_name ,prod_price FROM products WHERE prod_name LIKE '_ anvil'
9. 正则表达式进行搜索
10. 拼接字段 concat()
SELECT CONCAT(vend_name,'(',vend_country,')') FROM vendors ORDER BY vend_name
11. 文本处理;
(1)去掉字符串中的空格 // 数据右侧的空格删除 SELECT RTRIM(vend_name) FROM vendors ORDER BY vend_name // 数据左侧的空格删除 SELECT LTRIM(vend_name) FROM vendors ORDER BY vend_name; // 数据左右侧的空格删除 SELECT TRIM(vend_name) FROM vendors ORDER BY vend_name (2) 转换大小写 SELECT UPPER(vend_name) FROM vendors ORDER BY vend_name; SELECT LOWER(vend_name) FROM vendors ORDER BY vend_name; (3) 长度 SELECT LENGTH(vend_name) FROM vendors ORDER BY vend_name; (4) 返回字符串两边的字符 SELECT LEFT(vend_name,1) FROM vendors ; SELECT RIGHT(vend_name,1) FROM vendors ; (5) 查找子串 SELECT LOCATE(vend_name,'Anvils ') FROM vendors ;
12. 日期和时间处理函数
SELECT cust_id,order_num ,DATE(order_date)from orders ; SELECT cust_id,order_num ,TIME(order_date)from orders ; SELECT cust_id,order_num ,YEAR(order_date)from orders ; SELECT cust_id,order_num ,HOUR(order_date)from orders ;
13. HAVING 和 WHERE 的差别
WHERE 在数据分组前进行过滤, HAVING 在数据分组后进行过滤。
14. 连接表
(1) 等值联结 SELECT vend_name,prod_name,prod_price FROM vendors,products where vendors.vend_id = products.vend_id ; (2) 笛卡尔积 (vendors 表内的每一条数据都和 products下的每一条都结合) SELECT vend_name,prod_name,prod_price FROM vendors,products where vendors.vend_id = products.vend_id ; (3) 内联 SELECT vend_name,prod_name,prod_price FROM vendors INNER JOIN products ON vendors.vend_id = products.vend_id; (4) 自联结 SELECT p1.prod_name ,p1.prod_price from products AS p1 ,products AS p2 WHERE p1.vend_id=p2.vend_id AND p2.prod_id='DTNTR'; (5) 左联 查询左边表内所有的行 在右边表中的情况 SELECT customers.cust_id , orders.order_num FROM customers LEFT OUTER JOIN orders ON customers.cust_id = orders.cust_id; (6) 右联 查询右边表内所有行在左边表中的情况 SELECT customers.cust_id , orders.order_num FROM customers RIGHT OUTER JOIN orders ON customers.cust_id = orders.cust_id; (7) 带聚集的联结 SELECT customers.cust_name,COUNT(orders.order_num) from customers INNER JOIN orders on customers.cust_id = orders.cust_id GROUP BY orders.cust_id;
15. 组合查询
// 组合多条select语句 SELECT vend_id,prod_id,prod_price FROM products WHERE prod_price<=5 UNION SELECT vend_id,prod_id,prod_price FROM products WHERE vend_id IN (1005,1002);
阅读全文
0 0
- Mysql入门学习(4)
- MySQL入门学习(一)
- MySQL入门学习(二)
- MySQL入门学习(四)
- MySQL入门学习
- MySQL入门学习
- MySQL入门学习 一
- MySQL入门学习 二
- MySQL入门学习 三
- MySQL入门学习 四
- MySQL入门学习 五
- Mysql数据库学习入门
- MySQL入门学习(一)
- MySQL入门学习
- MySQL入门学习(二)
- MySQL入门学习(一)
- MySQL入门学习
- MySQL入门学习(一)
- Java实现app接口和Socket消息传递(9)navicat创建user表
- C++ 编译时断言检查
- Java中如何把两个数组合并为一个
- 《VTK图形图像开发进阶》——学习笔记1
- 如何使用activiti 5.18+自定义流程自定义表单
- Mysql入门学习(4)
- mac下用homebrew安装mysql并配置简单密码
- 正则 和 re模块
- laravel管道pipeline用到的地方
- python 求某条线上特定x值或y值的点坐标
- P1000 超级玛丽游戏
- React-Native开发环境搭建以及遇到的相关问题2
- 分章节读《thinking in Java》
- css中实现字符超出宽度自动换行和英语字符不断行的解决方法