oracle基本语句

来源:互联网 发布:网络推手阿健收费标准 编辑:程序博客网 时间:2024/05/14 09:34

1.select * from emp; 显示表emp中所有内容
2.set linesize 长度;修改行的长度
3.set pagesize 行数; 每页显示数据的行数
4.ed ;进入 buf进行编辑 ed a; 新建一个sql文档 存放数据 ,用 @a 调用
5.conn 用户名/密码  as sysdba ;更改连接数据库用户  例如 conn scott/tiger ;
6.select * from scott.emp;在其他用户下查询 scott用户的emp表
7.show user; 显示当前连接数据库的用户
8.select * from tab;查询数据库所有表的名称
9.desc emp; 显示emp表的结构
10.select empno, ename,job from emp;查询emp表中指定empno, ename,job数据
11.select empno 编号, ename 姓名,job 工作 from emp;起别名
12.select distinct job from emp; 查询job类型并去掉重复
13.select ‘编号是:’||empnp||’的雇员,姓名是:’||ename||’,工作是:’||job from emp; 字符串连接操作
14.select ename sal*12 from emp;求年薪 先乘除后加减
15.select * from emp where sal>1500;查询工资大于1500的员工信息
16.select * from emp where comm is not null;查询奖金不为空的员工信息 去掉not是没有奖金的员工
17.select * from emp where sal>1500 and comm is not null;工资大于1500 并且可以领取奖金的员工信息   将and 改为or 则为工资大于1500或可以领取奖金的员工信息
18.select * from emp where not (sal>1500 and comm is not null);奖金不大于1500 或不可以领取奖金
19.select * from emp where sal>1500 and sal<3000;工资大于1500小于3000 
20.select * from emp where sal between 1500 and 3000;
21.select * from emp where hiredate between’1-1月 -81’and’31-12 月 -81’
22.select * from emp where ename=’SMITH’;smith 必须大写
23.select * from emp where empno in(7366,7499.7521);指定查询范围 用in来完成 等同于语句select * from emp where empno=7366 or empno=7499 or empno=7521 ;in前加not
24.select * from emp where ename like ‘_M%’;模糊查询“_”代表一个字母“%”代表多个字母 也可以应用于日期查询   != 和<> 代表不等于
25.select * from emp order by sal asc; 按工资由低到高排序 desc是由高到低
26.select upper(‘smith’) from dual; 由小写字母变为大写 dual为测试表 虚拟表
27.select lower(‘HELLO WORLD’) from dual;由大写变小写
28.select initcap(‘HELLO WORLD’) from dual;首字母大写select lower(‘ename’) from dual;
29.select concat(‘HELLO’,’WORLD’) from dual;连接字符串
30.select substr(‘hello’,1,3) 截取字符串,length(‘hello’)字符串长度,replace(‘hello’,’l’,’x’)字符串替换 from dual; substr()截取点从0和1开始结果一样
31.select ename,substr(ename,length(ename)-2) from emp; 减去2代表最后留三位 如果要倒着截取输入负数倒着数就行
32.select round(789.456)from dual;四舍五入  round(789.456,2)保留两位小数round(789.456,-2) 从整数最后一位开始数第二位四舍五入 的800
33.trunc() 去掉小数 不四舍五入  trunc(333.22,1)保留一位小数 不四舍五入
34.mod()取余操作 mod(10,3)  结果1
35.select sysdate from dual; 查询当前日期
36.select empno,ename,round((sysdate-hiredate)/7)from emp;当前日期-雇用日期=天数/7=星期数add_month(hiredate,5) 在雇佣时间上加5个月month_between(sysdate,hiredate) 计算雇佣时间与系统时间之间相差的月数next_day(hiredate,‘FRIDAY’) 计算受雇日期之后的第一个星期五的日期last_day(sysdate)给定日期的最后一天
37.to_char(sysdate,’yyyy-mm-dd’) 转换成字符  to_char(sal,’99,999’)定义格式to_date(‘2009-02-16’,’yyyy-mm-dd’)   
38.select empno 雇员编号,ename 雇员姓名,hiredate 雇用日期,decode(job,’clerk’,’业务员’,’salesman’,’销售人员’) from emp;
39.select decode(1,1,’内容是1’,2,’内容是2’,3,’内容是3’) from dual;
40.select empno,ename,nvl(comm,0),(sal+nvl(comm,0))*12 income from emp;nvl将null变为指定数
41.create table save_info(per_id varchar2(20),name varchar2(20),tran_date date,tran_bal mumber(12.2));创建一个表
42.insert into save_info values(‘110000000’,’zh’,to_date('2011.06.18’,’yyyy.mm.dd’),123456.66);插入数据
43.show parameter nls_date_format定义格式类型
44.alter session set nls_date_format=’yyyy/mm/dd’;改变时间格式
45.create table a(id number,name varchar2(20),address varshar(30));建立一个表
46.alter table a rename column name to nam;修改表中列名
47.alter table a modify(nam varchar2(30));修改数据类型
48.insert into a values(‘’25,’fdf’,’lc’);网表中插入数据
49.ALTER TABLE "SCOTT"."A" ADD (CONSTRAINT "D" PRIMARY KEY())  约束条件
50.Drop table a; 移除表a

原创粉丝点击