sql基本用法
oracle的常用數據類型
- varchar2 0~4000 可變長 ASCII編碼
- nvarchar2 0~1000 可變長 Unicode編碼
- number(p,s) p最大進度38 s保留的小數位數
- date 日期,時間
- timestamp 日期時間精確到毫秒
- clob 4G 存儲字符串
- blob 4G 二進制
建表語句
create table table_name(
column_name datatype,
...
column_name datatype
)
修改表列屬性
alter table table_name
add column_name datatype //添加列
modify column_name datatype //修改列類型
modify column_name null || not null; //修改列屬性能不能爲空
drop column column_name //刪除列
添加表字段約束
alter table table_name
add constraint constraint_name primary key(column_name); //增添主鍵約束
add constraint constraint_name check (condition) // check約束比如:name !='a'
add constraint constraint_name unique (column_name) //添加唯一約束在column_name列
刪除表字段約束
alter table table_name
drop constraint constraint_name //刪除constraint_name的約束
插入數據
insert into table_name //一條一條插入
(column_name1,column_name2,column_name3,...,column_nameN)
values
(value1,value2,value3,...,valueN)
insert into table_name //從其他表導入
(column_name1,column_name2,column_name3,...,column_nameN)
select
column_name1,column_name2,column_name3,...,column_nameN from
from table_name2
修改數據
update table_name
set
column_name1 = value1,
column_name2 = value2,
column_name3 = value3,
...
column_nameN = valueN
刪除數據
delete from table_name
where column_name=value
查詢數據
select
[distinct| all]
from
table_name
[where]
> >= > >= != <>
is null
like
between and
in
and
or
not
[group by]
[having]
[order by]
表連接
select * from table_name1,table_name2 //等值連接
where table_name1.a=table_name2.b
select * from table_name1 //左外連接
left join table_name2
on table_name1.a=table_name2.b
select * from table_name1 //右外連接
right join table_name2
on table_name1.a=table_name2.b
select * from table_name1 as table1, table_name1 as table2 //自連接
where table1.a=table2.b
select * from table_name1
full join table_name2
on table_name1.a = table_name2.b //全外連接 返回左外連接和右外連接的並集
添加索引
create [unique] index index_name
on table_name(column_name1,column_name2,column_name3,...,column_nameN)
修改索引
alter index index_name
rename to last_index_name
刪除索引
drop index index_name