SQL教程重溫(8)

2021-07-28 09:43:09 字數 1242 閱讀 8130

default 約束用於向列中插入預設值。

如果沒有規定其他的值,那麼會將預設值新增到所有的新記錄。

下面的 sql 在 "persons" 表建立時在 "city" 列上建立 default 約束:

my sql / sql server / oracle / ms access:

create table persons

(

p_id int not null,

lastname varchar(255) not null,

firstname varchar(255),

address varchar(255),

city varchar(255) default 'sandnes'

)

通過使用類似 getdate() 這樣的函式,default 約束也可以用於插入系統值:

create table orders

(

o_id int not null,

orderno int not null,

p_id int,

orderdate date default getdate()

)

當表已被建立時,如需在 "city" 列建立 default 約束,請使用下面的 sql:

mysql:

alter table persons

alter city set default 'sandnes'

sql server / ms access:

alter table persons

alter column city set default 'sandnes'

oracle:

alter table persons

modify city default 'sandnes'

如需撤銷 default 約束,請使用下面的 sql:

mysql:

alter table persons

alter city drop default

sql server / oracle / ms access:

alter table persons

alter column city drop default

SQL教程重溫(9)

auto increment 會在新記錄插入表中時生成乙個唯一的數字。我們通常希望在每次插入新記錄時,自動地建立主鍵欄位的值。我們可以在表中建立乙個 auto increment 字段。下面的 sql 語句把 persons 表中的 id 列定義為 auto increment 主鍵字段 creat...

SQL教程重溫(10)

只要您的資料報含的只是日期部分,執行查詢就不會出問題。但是,如果涉及時間部分,情況就有點複雜了。在討論日期查詢的複雜性之前,我們先來看看最重要的內建日期處理函式。下面的 列出了 mysql 中最重要的內建日期函式 函式描述 now 返回當前的日期和時間 curdate 返回當前的日期 curtime...

漏洞重溫之sql注入(總結)

sql注入即是指web應用程式對使用者輸入資料的合法性沒有判斷或過濾不嚴,攻擊者可以在web應用程式中事先定義好的查詢語句的結尾上新增額外的sql語句,在管理員不知情的情況下實現非法操作,以此來實現欺騙資料庫伺服器執行非授權的任意查詢,從而進一步得到相應的資料資訊。一.網頁為了滿足正常使用者檢索所需...