check 約束用於限制列中的值的範圍。
如果對單個列定義 check 約束,那麼該列只允許特定的值。
如果對乙個表定義 check 約束,那麼此約束會在特定的列中對值進行限制。
create table students
(id int not null check(id > 5),
name varchar(20)
)在上述表結構中顯得id的值大於5.我們也可以指定多個約束。
create table students
(id int not null,
name vahrchar(20) not null,
tel char(11),
address varchar(20),
constraint cheak_k check(id>5 and name like('%dd'))
)在已存在的表結構中
alter table students
add check(name like('d%')
oralter table students
add constraint check_k check(id>4 and name=『愛的』)
刪除已存在的約束
alter table students
drop constraint check_k
ps:在mysqk中check只是為了和其他資料庫相容,在裡面不起作用。
default 約束用於向列中插入預設值。
如果沒有規定其他的值,那麼會將預設值新增到所有的新紀錄。
我們在建立表的時候為某列新增乙個預設值。
create table student(id int not null default 0, name carchar(20))
我們可以配合使用一些函式來使用。
create table students(id int , name varchar(20), britherday date default getdate());
新增default約束。
alter table students alter id set default 0;//mysql
alter table students alter column name set default 'hello';
刪除default約束.
alter table students alter id drop default;//mysql
alter table students alter column id drop default ;
create index 語句用於在表中建立索引。
在不讀取整個表的情況下,索引使資料庫應用程式可以更快地查詢資料
您可以在表中建立索引,以便更加快速高效地查詢資料。
使用者無法看到索引,它們只能被用來加速搜尋/查詢。
注釋:更新乙個包含索引的表需要比更新乙個沒有索引的表更多的時間,這是由於索引本身也需要更新。因此,理想的做法是僅僅在常常被搜尋的列(以及表)上面建立索引。
create index srudents_index on students(id);//在students表的id列建立index。
在表上建立乙個唯一的索引。唯一的索引意味著兩個行不能擁有相同的索引值。
create unique index id_index on students(id)
如果您希望以降序索引某個列中的值,您可以在列名稱之後新增保留字desc:
create index id_index on students (id desc);
假如您希望索引不止乙個列,您可以在括號中列出這些列的名稱,用逗號隔開:
create index in_name_index on students(id, name);
SQL語句練習
建立一張表,記錄 呼叫員的工作流水,記錄呼叫員編號,對方號碼,通話開始時間,結束時間。建表,插資料等都自己寫出sql 要求 輸出所有資料中通話時間最長的5條記錄。輸出所有資料中撥打長途號碼 對方號碼以0開頭 的總時長 輸出本月通話時長最多的前三個呼叫員的編號 輸出本月撥打 次數最多的前三個呼叫員的編...
SQL 語句練習
mysql select from persons limit 5 oracle select from persons where rownum 5 select from persons where name like l select from persons where name not l...
SQL語句練習
1 把兩張 的資料抽取出來放到另外一張 中 1 pt表 role id int pt int 2 season score表 role id int season score int 3 player表 role id int pt int season score int count int 4 ...