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

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

操作表中的数据

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

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



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值