mysql小知识笔记
来源:互联网 发布:用友软件代理商名单 编辑:程序博客网 时间:2024/06/05 07:53
记忆的小船说翻就翻,特别是代码的巨轮,说沉就沉。所以好记性不如烂笔头,前段时间感觉对mysql数据库的基础知识不扎实,所以查找各个资料做了个小总结笔记,方便下次查阅,有错误的地方希望大家多给给意见。
概要:
1.关于插入语句的三种方式
2.更新的单表和多表操作
3.删除的单表和多表操作
4查询,以及查询常见的几个关键字用法(WHERE,GROUP,HAVING,ORDER BY,LIMIT)
5.子查询
6.连接
1插入语句:
在mysql中插入数据的语句有三种方式:
(1)INSERT [INTO] tab_name [(col_name,….)] {VALUES | VALUE} ({expr | DEFAULT},…),(…),…
此方法可一次性插入多条数据
(2)INSERT [INTO] tab_name SET col_name={expr | DEFAULT},…
与第一种方法的区别在于此方法可以使用子查询,一次只能插入一条数据
(3)INSERT [INTO] tab_name [col_name,…..] SELECT…
此方法可以将查询的结果插入在指定的数据表中。
2 更新记录
(1)单表记录
UPDATE [Low_PRIORITY] [IGNORE] table_reference
SET col_name={expr | DEFAULT}
[,col_name2={expr | DEFAULT}]….
[WHERE where_condition]
如:1.UPDATE users set age=age+5;
2. UPDATE users set age=age+10 where id%2=0;
(2)多表更新记录
此处要用到连接,语法格式为:
UPDATE tbl1 AS A INNER JOIN tbl2 AS B
ON A.goods.cates=B.cates_name
SET A.goods_cate=cate_id;
3.删除记录
(1)单表删除
语法:
DELETE FROM tbl_name [WHERE where_condition]
如:DELETE FROM users WHERE id=6;
(2)多表删除
4.查询语句SELECT
语法:
SELECT select_expr [,select_expr…..]
[
FROM table_references
[WHERE where_condition ]
[GROUP BY {col_name | Position } [ASC | DESC]]
[HAVING where_condition]
[ORDER BY {col_name | expr | Position | } [ASC | DESC] ,…..]
[LIMIT { [ offset,} row_count | row_count OFFSET offset } ]
]
select_exper: 查询表达式
每一个表达式表示想要的一列,必须有至少一个。
每个列之间以英文逗号隔开。
星号( * )表示所有列,
查询表达式可以使用AS关键字为其赋予别名。
WHRER:
条件过滤,表达式中可以使用mysql支持的函数和运算符(数学,字符);
GROUP BY:
查询结果分组
语法:[GROUP BY {col_name | position} [SAC | DESC ],….]
HAVING:
分组条件,条件必须要满足两个要求中的一个,第一:此条件要出现在查询语句中,或者在聚会函数内。
ORDER BY:
对查询结果进行排序:
[ORDER BY { col_name | expr | position } [ ASC | DESC ],…. ]
LIMIT:
限制查询结果返回的数量
语法:
[ LIMIT { [offset, ] row_count | row_count OFFSET offset}]
举个栗子:
SELECT * FROM users LIMIT 2;
查询从第一条数据开始的两条数据
SELECT * FROM users LIMIT 2,3;
查询从第三条数据开始的3条数据
5.子查询(SubQuery)
是指出现在其他SQL语句中的select语句
如:SELECT * FROM t1 WHERE col1=( SELECT col2 FROM t2);
注意的地方:
1,子查询指嵌套在查询内部,且必须始终出现在园括号内
2.子查询可以包含多个关键字条件,如 DISTINCT GROUP BY ORDER BY LIMIT 函数等
3 子查询外层查询可以是select, update, delect, insert into
4.返回值可以是标量,一行,一列,或子查询
引起子查询有三种方式:
(1)使用比较运算符的子查询
=、> 、<、>= 、<= 、<> 、!= 、<=>
语法结构:
operand comparision_operator subquery
可以用 ANY SOME ALL 来修饰比较运算符
(2)由 [NOT] IN 引发的子查询
语法结构:
operand comparision_operator [NOT ] IN (subquery) =ANY
(3)由 [NOT] EXISTS 引发的子查询
此子查询较少用,如果查询返回任意行则将返回true,不然返回false
6 连接
MYSQL在select语句,多表更新,多表删除中均支持JOIN操作
注意的地方:
使用ON关键字来设定连接条件,也可以使用WHERE来代替
通常使用ON关键字来设定连接条件,使用WHERE关键字来进行结果集记录的过滤。
连接可大致分为 内连接,左外连接,右外连接
内连接: INNER JOIN
显示符合条件的数据
左外连接:
显示左表的全部记录及右表符合连接条件的记录
右外连接:可借鉴左外连接参考
- mysql小知识笔记
- 上课笔记MySQL数据库小知识
- mysql的小知识
- Mysql小知识
- mysql 小知识
- MySql小知识
- Mysql小知识
- mysql索引小知识
- MySQL基础小知识
- mysql 小知识
- MySQL小知识
- Mysql小知识
- mysql 的小知识
- 小知识Memo笔记
- 笔记----------------------------------c++小知识
- 小知识笔记
- 小知识笔记
- MySQL知识笔记
- .Net开源网络爬虫Abot介绍
- python使用matplotlib绘图
- Leetcode 36. Valid Sudoku & 37. Sudoku Solver
- linux下安装mysql5.6.26
- spring+sprinmvc+mybatis基本整合(二)--基于spring注解mybais非注解非Mapper接口方式
- mysql小知识笔记
- std::swap 不支持 std::auto_ptr 类型参数
- Leetcode 41. First Missing Positive
- Android中怎样使用计步器传感器 "TYPE_STEP_DETECTOR"
- round() Function in Python and Matlab
- Leetcode 56. Merge Intervals & 57. Insert Interval
- java基础(29)--深入剖析Java中的装箱和拆箱
- 易學原論 (4288_6)
- java基础(30)--Java中实现CallBack功能