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)