数据库基础操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库基础操作相关的知识,希望对你有一定的参考价值。

  1. 显示查询结果使用排序功能
    order by [列名] desc; #desc 表示降序,asc 表示升序
    例:select * from 表名 where ID = ‘001‘ order by createtime desc;
    createtime(创建时间) ,默认显示时间为升序,使用order by [列名] desc 转为降序显示

  2. 把多条查询语句结果显示在一个窗口:union all
    ---例:把下面3条结果显示在同一窗口------
    select * from 表名 where ID = ‘001‘ union all
    select * from 表名 where ID = ‘002‘ union all
    select * from 表名 where ID = ‘003‘

3.多表关联查询:select from 表1 where ID in (select ID from 表2 )
例: select
from 表1 where ID in (select ID from 表2)

4.数据库版本查看:select * from v$version;

5.删除表里面的某一行 delete from 表名 where 条件1 。。。
delete from 表名 where ID= ‘001‘
提示:删除前先使用select 语句确认删除的条件是否唯一
select * from 表名 where ID =‘001‘

6.修改表里面的内容
update 表名 set 修改后内容 where 条件1 。。。
update 表名 set ID = ‘002‘ where ID = ‘001‘ ; --把001修改为002

7.替换函数replace(字段名,‘源‘,‘目的‘)
1.先select 字段名,replace(字段名,‘00‘,‘01‘) from 表名 where 条件1 …
2.update 表名 set 字段名=replace(字段名,‘00‘,‘01‘) where 条件1 …

--替换指定内容
--查询
select name,replace(name,‘广西‘,‘广西壮族自治区‘) from 表名1 where 条件1 。。。
--替换
update 表名1 set name=replace(name,‘广西‘,‘广西壮族自治区‘) where 条件1 。。。

8.时间计算问题:
以2018年3月7日为例,加90天 2018-06-05 00:00:00
select to_date(‘2018-03-07 00:00:00‘,‘yyyy-MM-dd hh:mi:ss‘)+90 from dual; --精确到时分秒

select to_date(‘2018-03-07‘,‘yyyy-MM-dd‘)+90 from dual; --不加时分秒

9.===============distinct去重后再count()=============
SELECT COUNT(
) AS test FROM ,test(自定义的名称)
SELECT COUNT(*) AS test FROM (select distinct zjhm from visit_contents where date >=‘20160101‘ and date <= ‘20171231‘ and ID in (300,301,302,303,600))

10.===============从查询出来的结果再从中查询============
--from + 第一次查询的内容
select * from (select 字段1,字段2,字段3 from 表名 where a =3) where ID= ‘001‘

11.========截取后n位
substr(字段名,length(字段名)-n + 1 ,n )
select substr(‘字段名‘,length(‘字段名‘)-n+1,n) from dual;
当 n=6 :
select substr(‘字段名‘,length(‘字段名‘)-6+1,6) from dual;

12.group by + order by count(*) # 统计重复的数量并排序

13.between 1 and 4 等于 in (1,2,3,4)

14.instr 找出分段内容(如:name = 中国/广西/南宁) , 以 / 为分隔,找出 中国 (一级分类)并排序
group by substr(name,0,instr(name,‘/‘)-1) order by count(*) desc

15.只显示查询出来结果的第一行 rownum=1

16.ROWNUM< 50 只显示前49行
SELECT * FROM 表名 WHERE ROWNUM< 50

17.修改某个字段的精度
alter table 表名 modify 列名 数据类型;
alter table bl_yhsz modify zcmc varchar2(120);

以上是关于数据库基础操作的主要内容,如果未能解决你的问题,请参考以下文章

安卓基础之Sqlite数据库最最基础操作

JAVA基础-数据库基础操作

python---基础知识回顾数据库基础操作(sqlite和mysql)

Django基础之model操作数据库model基础入门推荐

PHP之路——MySql基础操作语句

python基础六--操作数据库