oracle数据库语法总结

   日期:2020-10-05     浏览:84    评论:0    
核心提示:基础创建表:语法create table [模式名.]基本表名 (列名1 类型1,列名2 类型2,…完整性约束…)[tablespace"表空间名"];例:create table student( id varchar2(20) primary key, name varchar2(50) not null, sex char(1) not null );修改表:1 修改表名ALTER TABLE student RENAME

基础

创建表:

语法
create table [模式名.]基本表名 (
列名1 类型1,
列名2 类型2,

完整性约束…
)[tablespace"表空间名"];

例:

create table student(
 			id varchar2(20) primary key,
 		    name varchar2(50) not null,
 		    sex char(1) not null
 		    );

修改表:

1 修改表名
ALTER TABLE student RENAME to student1;
2 增加字段
ALTER TABLE student1 ADD info varchar(100); 
3 修改字段
-- 修改字段的类型
ALTER TABLE student1 MODIFY info integer;
--与 Mysql 不同,oracle 中没有该语法(同时修改属性名称):ALTER TABLE table_name CHANGE 旧属性名 新属性名 数据类型
-- 修改字段的名称和类型
ALTER TABLE student1 rename column info to stu_info; 
ALTER TABLE student1 MODIFY stu_info varchar(200);

删除表:

DROp TABLE student1;

插入数据:

--语法
--INSERT INTO table_name(field1,field2,...) VALUES(val1,val2,...);
-- 指定字段插入
INSERT INTO student1(name,sex) VALUES('张三','男');
-- 不指定字段插入,需要按顺序写(不推荐使用)
INSERT INTO student1 VALUES('001','张三','男');

删除数据

--语法
-- DELETE FROM table_name WHERe CONDITION
--实例
delete from student1 where name='张三';

更新数据记录

-- UPDATe table_name SET field1=val1,field2=val2,... WHERe condition 
update student1 set id = '002' where name = '张三';

单表数据查询

简单的数据查询

-- SELECT field1,field2,... FROM table_name WHERe CONDITION 
select sex from student where name='李四';
--使用通配符*查询所有数据
select * from student where name='李四';

条件数据记录查询

在条件内部定义:
1) 带关系运算符和逻辑运算符的表达式
Oracle 中的关系运算符:>、 >=、 <、 <=、 !=(<>) 、 =
Oracle 中的逻辑运算符:&&(AND)、||(OR)、!(NOT) 在逻辑表达式中,我们一般使用英文表示,如 AND/OR/NOT。

SELECt stuname,salary,salary*12 FROM STUINFO WHERe salary=1000; 
SELECt stuname,salary,salary*12 FROM STUINFO WHERe salary!=1000;   
SELECt stuname,salary,salary*12 FROM STUINFO WHERe salary<>1000; 
SELECt stuname,salary FROM STUINFO WHERe NOT(salary>1000 AND salary<2000);

2) 带 between…and 关键字的条件数据查询

SELECt stuname,salary FROM STUINFO WHERe salary BETWEEN 1500 AND 2000; 
SELECt stuname,salary FROM STUINFO WHERe NOT(salary BETWEEN 1500 AND 2000);

3) 使用 is null 关键字的条件数据查询
其中空字符串和 null 是两个不同的值,在使用的时候,需要注意,查询空字符串,使用”xxx=’’”,而判断是否是 null 值,要使用 is null。

SELECt * FROM student WHERe code IS NULL; 
SELECt * FROM student WHERe code IS NOT NULL;

注意: 由于 ‘’ (空串)默认被转换成了 NULL,不能使用 = ‘’ 作为查询条件。也不能用 is ‘’。虽然不会有语法错误,但是不会有结果集返回。 只能用 is null 。
不等于就是 is not null 。

4) 使用 in 关键字的条件数据查询
在已知的指定范围内,进行数据的查询。

SELECt * FROM student WHERe id in(2,4); 
SELECt * FROM student WHERe id NOT in(2,4);

5) 带 like(模糊查询)关键字的条件数据查询
like 表示一种模糊查询的搜索模式。

-- 准备数据 
INSERT INTO student(id,name,code) VALUES(5,'孙悟空','001'); 
INSERT INTO student(id,name,code) VALUES(6,'小白龙','002'); 
INSERT INTO student(id,name,code) VALUES(7,'唐僧','003'); 
INSERT INTO student(id,name,code) VALUES(8,'沙僧','004');
-- 模糊查询 -- 只要带有“悟”,会匹配出来 
SELECt * FROM student WHERe name LIKE '%悟%';
-- 以“唐”开头 
SELECt * FROM student WHERe name LIKE '唐%'; 
-- 以“僧”结尾 
SELECt * FROM student WHERe name LIKE '%僧'; 
-- 第一个字符不管,只要第二个字符是“白”,会匹配出来 
SELECt * FROM student WHERe name LIKE '_白%';
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服