Oracle一些DML語句簡例
阿新 • • 發佈:2019-01-05
1.資料型別
varchar2, char, number,date,timestamp
2.建表
create table stuinfo(
sid number primary key,
sanme varchar2(20) not null,
score number(5,2) //五位小數,小數點後兩位
birthday date
)
RAW資料型別用於儲存二進位制資料。最多2000位元組。
3.建序列(auto_increment 從一開始每次增長1)
create sequence stu_seq 預設從1開始,每次增長1
create sequence stu_seq2
start with 1000
increment by 2;
序列從1000開始,每次增長2
4.新增資料
4.1給所有欄位新增值,日期使用預設格式(日的數字+月的數字 月 + 年的數字) 中間月字不能省略 顯示結果2018/12/24
insert into stuinfo values(stu_seq.nextval,'旺財',97.77,'24-12月-2018')
4.2給所有欄位新增值,日期使用yyyy-mm-dd格式
日期轉換函式 to_date
insert into stuinfo values (stu_seq.nextval,'來福',97.77,to_date('2018-12-25','yyyy-mm-dd')); commit; 直接確定新增表,不用經過新增到快取區這一步。
oracle中所有sql語句都是處理快取區,即sql查的是資料快取。
4.3 --給所有欄位新增值,日期使2018年12月28日格式
insert into stuinfo values
(stu_seq.nextval,'麥克阿瑟',97.77,to_date('2018年12月25日','yyyy"年"mm"月"dd"日"'));
年月日必須加雙引號,因為oracle無法識別中文格式
4.4 --2018年12月12日12時12分12秒 預設12小時制
格式:to_date('2018年12月12日12時12分12秒','yyyy"年"mm"月"dd"日" hh:mi:ss')
24小時制如下:hh24或HH24
to_date('2018年12月12日12時12分12秒','yyyy"年"mm"月"dd"日" hh24:mi:ss')
4.5 – 精度到毫秒:使用to_timestamp
to_timestamp(‘2018年12月12日12時12分12.123秒’,‘yyyy"年"mm"月"dd"日" hh:mi:ss.ff’)
5.利用現有的表來建立表(複製表)
複製表結構和資料
create table stuinfo2
as select * from stuinfo;
複製表結構
create table stuinfo2
as select * from stuinfo where 1=2;
6.查詢時去除重複列
select distinct name from stuinfo;
7.別名
select sid,sanme as newname from stuinfo;
select sid,sanme newname from stuinfo;
select sid,same '姓名' from stuinfo;
select '我的編號是:' ||sid|| '我的名字是:'||sname from stuinfo;
輸出:我的編號是:xx 我的名字是xx