今天主要学习的是操作数据表中的数据以及子查询;
操作表中的数据
插入数据(插入的数据可以是函数)
INSERT table name VALUES() //插入的value必须和表相匹配
INSERT table name (data1,data2) VALUES () //可以插入部分数据
INSERT table name SET data1=data1.value,data2=data2.value //与上面方法的区别在于可以使用子查询
INSERT table name data SELECT data1 FROM table1 //将查询结果插入到指定表
更新数据
UPDATE table name SET data1=data1.value ,data2=data2.value WHERE [CONDITION];//单表更新。可以更新多个字段,并通过where确定更新字段的位置
UPDATE table1 name INNER JOIN table name2 ON table1.data=table2.data SET table1.data=table2.data
// INNER JOIN表示内连接 ON 后面跟的是连接条件 SET后面跟的是需要更新数据的表的值换成表2的值
删除数据
DELETE FROM table name WHERE [CONDITION] //显而易见
查找数据
SELECT data1,data2 //如果data的名字比较长或者难以记忆,可以取别名(eg:SELECT data1 AS d)
FROM table name
WHERE [CONDITION] //可以是MYSQL支持的函数 查找的条件
GROUP BY data //(前面含有的data)对结果进行分组
HAVING [CONDITION] //通常跟在GROUP后面,设置分组条件
ORDER BY data //(同group用法) 对结果进行排序
LIMIT n,m// n是查询起始位置,第一个字段是0,m是需要查询的个数
子查询
子查询是出现在其他sql语句中的select语句 子查询的语句可以包括:DIATINCT GROUP BY, ORDER BY,LIMIT等, 子查询的外层查询可以是SELECT INSERT UPDATE SET 等。
1.由比较运算符引起的子查询
> < = >= <= !=
Eg;SELECT data1,data2 FROM table name WHERE data1>(SELECT AVG(data1) FROM table name); //这是子查询返回值是一个标量的情况
Eg: SELECT data1,data2 FROM table name WHERE data1>ANY (SELECT data1 FROM table name); //这是子查询返回值是多个标量的情况
5407

被折叠的 条评论
为什么被折叠?



