實用SQL語句

2021-04-26 09:30:57 字數 4887 閱讀 9070

1、將乙個表中的內容拷貝到另外乙個表中

insert intotestt1(a1

,b1,c1

)selecta,b

,cfromtest;

insert intotesttselect*fromtest

; (前提是兩個表的結構完全相同)

insert intonotebook(id

,title

,content)

selectnotebook_sequence

.nextval,

first_name

,last_namefromstudents;

注:a1,b1,c1是現在表中的欄位名。a,b,c是原表中的欄位名

拷貝單條資料

insert into a (select '123' as id, temp,temp2 from b where id=10)

2查詢重覆記錄

selectdrawing

,dsnofromem5_pipe_prefab

whererowid!=(selectmax(rowid)fromem5

_pipe_prefab d

whereem5_pipe_prefab

.drawing=d

.drawingand

em5_pipe_prefab

.dsno=d

.dsno);

3刪除重覆記錄

delete fromem5_pipe_prefab

whererowid!=(selectmax(rowid)fromem5

_pipe_prefab d

whereem5_pipe_prefab

.drawing=d

.drawingand

em5_pipe_prefab

.dsno=d

.dsno);

4、複製表結構 在

oracle

中:create tablenew_tableas select*fromold_tablewhere rownum< 1;

在sql server中:

說明:複製表

(只複製結構

,源表名:

a 新錶名:

b) sql: select * into b from a where 1<>1 語句

5、一次刪除多個字段

alter table test_a drop (test_num,test_name);

6、實現乙個表的備份

create table tablename_bak as select * from tablename;

7、建立兩個表的主外來鍵關聯--

先建立主表

create tablet1

(idint,

stu_namevarchar(

50)); --

為主表增加持久的主鍵約束

alter tablet1add(constraintt1_idprimary key(

id)

deferrable);

--建立從表,並將從表的

id設為主鍵

create tablet2

(idint primary key,

***varchar(

10),

addressvarchar(

50)); --

為從表增加外來鍵約束,該約束來自於主表所建立的約束字段 --

當從主表中刪除記錄時,自動刪除從表中與之相對的具有相同

id的記錄 --

當在從表中插入記錄時,不能夠插入在主表中沒有

id的記錄

alter tablet2add(constraintt2_id_fkforeign key(

id)referencest1(id

)on delete cascadedeferrable);

--測試資料

insert intot1values(1,

'flb');

insert intot1values(2,

'flb1');

insert intot1values(3,

'flb2');

insert intot1values(4,

'flb3');

insert intot2values(1,

'boy'

,'leijiang');

insert intot2values(2,

'boy'

,'leijiang');

insert intot2values(3,

'boy'

,'leijiang');

insert intot2values(4,

'boy'

,'leijiang');

--下面這條記錄插入錯誤

insert intot2values(5,

'boy'

,'leijiang');

--刪除主表中的記錄

deletet1;

--檢視從表中記錄,已經沒有記錄,說明約束成功

select*fromt2;

8、關於系統時間--

取得當前系統時間、當前月的最後一天,離當前月的結束還有幾天

selectsysdate,last_day(sysdate)

"last",

last_day(sysdate) -sysdate"days left"

fromdual;

-- 取得當前星期幾

selectto_char(sysdate,

'day'

)fromdual;

-- 取得當前月

selectto_char(sysdate,

'month'

)fromdual;

-- 取得指定日期的星期

selectto_char(to_date(

'20020126'

,'yyyymmdd'

),'day'

)fromdual

;

實用sql語句

1。加許可權 grant alter,create,select,insert,update,delete,index on recommend.to growth 10.1.1.1 identified by growth flush privileges alter table feed cha...

oracle實用sql語句

檢視oracle 資料庫中本使用者下的所有表 select table name from user tables 檢視oracle 資料庫中所有使用者下的所有表 select user,table name from all tables 檢視oracle 資料庫中本使用者下的所有列 select...

SQL實用語句

sql實用語句 三 技巧 1 1 1,1 2的使用,在sql語句組合時用的較多 where 1 1 是表示選擇全部 where 1 2 全部不選,如 if strwhere begin set strsql select count as total from tblname where strwh...