MySQL day3---操作数据表中的记录
来源:互联网 发布:上海美食推荐 知乎 编辑:程序博客网 时间:2024/04/29 02:10
------Chapter4------------------------------------------------
插入记录:1.INSERT [INTO] tbl_name [(col_name,...)] {VALUES|VALUE} ({expr|DEFAULT},...),(...),...
eg:
CREATE TABLE users3(
-> id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
-> username VARCHAR(20) NOT NULL,
-> password VARCHAR(32) NOT NULL,
-> age TINYINT UNSIGNED NOT NULL DEFAULT 20,
-> sex BOOLEAN
-> );
INSERT users3 VALUES(NULL,'TOM','123',25,1);
INSERT users3 VALUES(DEFAULT,'ALICE','231',25,1);
INSERT users3 VALUES(DEFAULT,'ALICE','231',3*7-4,1),(NULL,'ROSE',md5('123'),DEFAULT,0);
2.INSERT [INTO] tbl_name SET col_name = {expr|DEFAULT},...
eg:
INSERT users3 SET usersname = 'Ben',password='456';
3.INSERT [INTO] tbl_name [(col_name,...)] SELECT ...(此方法可将查询结果插入到指定数据表)
更新记录:
单表更新:UPDATE [LOW_PRIORITY][IGNORE] table_reference SET col_name1 = {expr1|DEFAULT}[,col_name2 = {expr2|DEFAULT}] ... [WHERE where_condition]
eg:
UPDATE users3 SET age = age - id,sex = 0;
UPDATE users3 SET age = age+5;
UPDATE users3 SET age = age + 10 WHERE id % 2= 0;(WHERE 选定偶数列进行更新)
删除记录:
单表更新:DELETE FROM tbl_name [WHERE where_condition]
eg:
DELETE FROM users3 WHERE id = 6;
查询表达式解析(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_expr 查询表达式
每一个表达式表示想要的一列,必须有至少一个。
多个列之间以英文逗号分隔。
eg : SELECT id,username FROM users3;(username id 顺序改变 结果列也会改变)
星号(*)表示所有列,tbl_name.* 可以表示命名表的所有列。
eg: SELECT * FROM users3;
查询表达式可以使用[AS] alias_name 为其赋予别名。
eg:SELECT id AS userId,username AS uname FROM users3; (此时userId uname 将在结果列中显示)
别名可用于GROUP BY , ORDER BY 或 HAVING 子句。
MySQL WHERE 语句进行条件查询
WHERE:
条件表达式,对记录进行过滤,如果没有指定WHERE子句,则显示所有记录,在WHERE表达式中,可以使用MySQL支持的函数或运算符。
MySQL GROUP BY语句对查询结果进行分组
查询结果分组:[GROUP BY {col_name | position } [ASC | DESC] , ... ]
SELECT sex FROM users3 GROUP BY sex;
SELECT sex FROM users3 GROUP BY 1;
MySQL HAVING语句设置分组条件
分组条件:[HAVING where_condition](聚合函数 或 出现在SELECT 函数中)
SELECT sex,age FROM users3 GROUP BY 1 HAVING age > 35;
SELECT sex FROM users3 GROUP BY 1 HAVING count(id) >= 2;
MySQL ORDER BY语句对查询结果排序
[ORDER BY { col_name | expr | position } [ ASC | DESC ] , ... ]
eg: SELECT * FROM users3;
SELECT * FROM users3 ORDER BY id DESC ;
SELECT * FROM users3 ORDER BY age;
SELECT * FROM users3 ORDER BY age,id DESC; (如果按第一个能够完成排序就不管id 否则再按第二个id排序)
limit语句限制查询数量:
限制查询结果返回的数量:[ LIMIT { [ offset, ] row_count | row_count OFFSET offset} ]
eg:
SELECT * FROM users3 LIMIT 2 ; (返回 id 1 2 两条记录)
SELECT * FROM users3 LIMIT 3, 2; (返回 id 4 5两条记录,因为记录中从0开始标号)
SELECT * FROM users3 LIMIT 2,2;(此时返回 id 3,4两条记录)
SELECT * FROM users3 ORDER BY id DESC LIMIT 2,2;(从9开始倒序排列,此时返回7,6两条记录)
INSERT [INTO] tbl_name [(col_name,...)] SELECT ...(此方法可将查询结果插入到指定数据表)
eg: CREATE TABLE test(
-> id TINYINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
-> username VARCHAR(20)
->);
INSERT test(username) SELECT username FROM users WHERE age>=30;(对应列的个数要相同)
- MySQL day3---操作数据表中的记录
- MYSQL操作数据表中的记录
- 【MySQL】(4)操作数据表中的记录
- mysql命令(三)--操作数据表中的记录
- mysql之操作数据表中的记录
- MySQL学习笔记-操作数据表中的记录
- mysql(八)操作数据表中的记录
- (4)Mysql操作数据表中的记录
- MySQL(4)操作数据表中的记录
- 操作数据表中的记录
- mysql中的数据表操作
- MySQL学习13:操作数据表中的记录(一)
- MySQL学习14:操作数据表中的记录(二)
- 慕客网学习总结:mysql数据库,操作数据表中的记录
- MySQL操作数据表的记录
- MySQL学习笔记 2:约束、修改数据表和操作数据表中的记录
- MySQL数据表中的字段操作
- 随笔记录 MYSQL 数据库操作数据表崩溃
- Lua table 表的操作——只有代码
- Struts2与SpringMVC的区别
- shishi
- php下的原生ajax请求
- ReactNative版本升级
- MySQL day3---操作数据表中的记录
- 隔壁
- spark学习--基本概念描述
- perl中文乱码
- Java实现AES256加解密
- 学习harbor安装到镜像删除
- SQL注入和预防措施
- C++STL标准程序库开发指南(1)
- BZOJ 1467 1467: Pku3243 clever Y (exBSGS)