数据库之数据操作和子查询

来源:互联网 发布:淘宝宿迁店是指什么 编辑:程序博客网 时间:2024/05/21 16:55

今天主要学习的是操作数据表中的数据以及子查询;

操作表中的数据

插入数据(插入的数据可以是函数)

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); //这是子查询返回值是多个标量的情况



0 0
原创粉丝点击