个人整理的sql语句用法









1. 向表中插入数据:






   语法:insert into 表名(用逗号分隔的列名列表) values(使用逗号分隔的每列的数据列表);
   如:
insert into stu(sid,sname,age,gender) values('M_001','tom',23,'male');


INSERT INTO stu(sid, sname,age,gender) VALUES('s_1001', 'zhangSan', 23, 'male');
INSERT INTO stu(sid, sname) VALUES('s_1001', 'zhangSan');


INSERT INTO 表名 VALUES(值1,值2,…)
因为没有指定要插入的列,表示按创建表时列的顺序插入所有列的值:




2.修改表数据:


    update 表名 set 列名=新值,列名=新值…… [where 子句];
    如:


     update stu set sname=’jack’;


UPDATE stu SET sname=’zhangSanSan’, age=’32’, gender=’female’ WHERE sid=’s_1001’;
UPDATE stu SET sname=’liSi’, age=’20’ WHERE age>50 AND gender=’male’;
UPDATE stu SET sname=’wangWu’, age=’30’ WHERE age>60 OR gender=’female’;
UPDATE stu SET gender=’female’ WHERE gender IS NULL
UPDATE stu SET age=age+1 WHERE sname=’zhaoLiu’;




3. 删除表中的数据




  使用delete删除表数据


    语法: delete from 表名 [where 子句];
    如:delete from stu;


  使用truncate删除表数据:
  语法:truncate  [table]  stu;




  delete和truncate区别
    delete逐条删除数据(性能较低)
    truncate(截断表):首先执行drop table删除表结构, 然后再执行create table创建表结构。性能较优。




DELETE FROM 表名 [WHERE 条件]
DELETE FROM stu WHERE sid=’s_1001';
DELETE FROM stu WHERE sname=’chenQi’ OR age > 30;
DELETE FROM stu;


TRUNCATE TABLE 表名
TRUNCATE TABLE stu;




4.查询数据库


DQL就是数据查询语言,数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端。
语法:
SELECT selection_list /*要查询的列名称*/
  FROM table_list /*要查询的表名称*/
  WHERE condition /*筛选数据行的条件*/
  GROUP BY grouping_columns /*对结果分组*/
  HAVING condition /*分组后的筛选行的条件*/
  ORDER BY sorting_columns /*对结果排序*/
  LIMIT offset_start, row_count /*结果限定*/


语法:


SELECT selection_list /*要查询的列名称*/
  FROM table_list /*要查询的表名称*/
  [ WHERE condition /*筛选数据行的条件*/
  GROUP BY grouping_columns /*对结果分组*/
  HAVING condition /*分组后的筛选行的条件*/
  ORDER BY sorting_columns /*对结果排序*/  ]






oracle数据库的操作时间的语句:




查询JQZH_JQXX(警情表)表中  BJSJ(报警时间,字符串形式的)大于'2016-06-29 20:21:30' 的所有条目的JQID(警情ID)


select JQID from JQZH_JQXX where BJSJ > TO_DATE('2016-06-29 20:21:30','yyyy-MM-dd HH24:mi:ss')






sqlite数据库的操作的语句:






查询数据库jqDataBase中jqid最大的一条记录的bjsj
select bjsj from jqDataBase where jqid = (select  max(jqid) from jqDataBase)


查询数据库jqDataBase的按bjsj顺序倒序排列的最后的10条数据
select  *   FROM jqDataBase ORDER BY bjsj DESC LIMIT  10


查询数据库jqDataBase,readStatus = 0并且按bjsj倒序排列的所有条目数
select  *   from jqDataBase  where readStatus = 0 ORDER BY bjsj DESC  


删除数据库jqDataBase中bjsj小于2016-06-29 19:51:30的所有数据
delete from jqDataBase where bjsj <'2016-06-29 19:51:30 '


删除数据库jqDataBase中按bjsj正序排序的最早的一条数据,也可以删除n条数据
delete from jqDataBase where jqid = (select jqid from jqDataBase order by bjsj limit 1)


删除数据库jqDataBase中按bjsj正序排序的多余数据,保证数据库中最多存放20条数据
delete from jqDataBase where jqid = (select jqid from jqDataBase order by bjsj limit ((select count(*)from jqDataBase) - 20 ))


删除数据库jqDataBase中按bjsj正序排序的多余数据,保证数据库中最多存放10条数据,且当数据库中数据数量少于10条时,就不删除了。
delete from jqDataBase where jqid = (select jqid from jqDataBase order by bjsj limit ((select count(*)from jqDataBase) - 10 )) 
and((select count(*)from jqDataBase)> 10)





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值