您的位置:首页 > 数据库 > Oracle

oracle数据库常用的sql语法语句总结

2017-11-03 23:06 746 查看
Structured Query Language 结构话查询语言

创建表的写法

1.1 列表内容

create table Table (

t1   varchar2(20)  not null,

t2   varchar2(20)  not null,

constraint PK_TABLE primary key(t1)  //主键


);

alter table Table

add constraint FK_TABLE_REFERENCE_TABLE2 foreign key  (t3)    //外键

references TABLE2 (t3)


2.

select bkname name,bkprice price from tbook where isbn = ‘233’

查询语句  SELECT 列名称 FROM 表名称


3

.like%模糊查询%

4

.更新某一列的值的方法 UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

update tuser set umoney=umoney-? where uname=? and umoney>=?";


5

.求某列某条件下的和

SELECT SUM(column_name) FROM table_name
select sum(money) from tuser where username ='雪糕'


6.

查询出来的东西进行排序

select * from tbook t order by bkprice desc
desc是降序

默认的是asc 是升序

7.

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
insert into torder (ordno,uname,ordstate,fodmoney,bymsg) VALUES ( ? , ? , 1 , ? , ?)


按照列插入值

8

create index noindex on tbook(isbn)


创建索引 索引名

9

.alter用于在已有的表中添加 修改 删除 列

添加列

sql alter table_name                          sql alter TClass

add column_name datatype                      add tname  varchar2(30)

drop column column_name 删除列


alter column column_name da
a08e
tatype   改变列数据类型  alter  column tname number(2,1)


10

.AND 和 OR 运算符

AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。

如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

11

多表查询先写所有的查询的东西 什么表.什么列 然后from 来自 表 这里表可以写出简称

然后where条件写出主外键相等的关系

.select tfood.fname,torder.ordno,torder.uname,torder.ordstate,tmorder.aid,tmorder.amoney, " +
"  tmorder.fcount, tmorder.acount, tfood.fno  from torder,tmorder,tfood  "+
"  where torder.ordno = tmorder.ordno   and tfood.fno = tmorder.fcount  and torder.ordno = tmorder.ordno  ";


12

现在,我们希望从上面的 “Persons” 表中选取居住的城市以 “A” 或 “L” 或 “N” 开头的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons
WHERE City LIKE '[ALN]%'


框框内加叹号 是查找没有 a l  n  住在开头的城市的人


13.

select rownum num from torder


14

.IN 操作符允许我们在 WHERE 子句中规定多个值。 常与字符串拼接一起用

Object[] fnos = foodset.toArray();//返回包含set元素的所有数组

for(int i = 0; i < fnos.length; i++){

if(i == 0){

sb.append(“’”+fnos[i]+”’”); //第一个的话加两个单引号即可

}else{

sb.append(“,’”+fnos[i]+”’”);//后面的都要多个逗号

}

}

String sql = “select * from tfood where fno in (“+sb.toString()+”)”; //toString 方法转化为字符串

15

.自增 (select nvl(max(行的名称),0)+1 from 表名)

select nvl (max (styno),0)+1 from Tfood


16

.BETWEEN 操作符

操作符 BETWEEN … AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

SQL BETWEEN 语法

SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2


select ordno from torder where ordstate between 3 and 5 [3,5) 前面+个not 取到相反范围的值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: