1. 程式人生 > >Oracle一些DML語句簡例

Oracle一些DML語句簡例

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