表的相關操作

2021-09-05 16:46:37 字數 4853 閱讀 3935

1.建立表

(1)用create table 命令建立表

語法:create table tabl_name

(column_name as computed_column_expression

}}[,...n]

)[on ]

[textimage_on ]

例子:開啟cust資料庫,建立乙個表,該錶包含了學生的有關資訊,即有學號、姓名、性別、出生日期、籍貫、聯絡**、住址和備註資訊。

use cust

create table students

(number int not null,

name varchar(10) not null,

*** char(2) null,

birthday datetime null,

hometown varchar(30) null,

telphone_no varchar(12) null,

address varchar(30) null,

others varchar(50) null

)在這個表中number表示學生代號,資料型別為int,不允許為空;name表示學生姓名,資料型別為varchar,長度為10,不允許為空;***表示學生的性別,資料型別為char,長度為2,允許為空;birthday表示學生的出生日期,資料型別為datetime,允許為空;hometown表示學生的籍貫,資料型別為varchar,長度為30,允許為空;telephone_no表示學生的聯絡電腦,資料型別為varchar,長度為12,允許為空;address表示學生的住址,資料型別為varchar,長度為30,允許為空;others表示學生的備註資訊,長度為50,允許為空。

2.修改表的結構

(1)使用t-sql語句增加和刪除乙個新列

語法:alter table table

[,...n]

|drop

[,...n]

}例子:開啟cust資料庫,修改其中的表students的結構,增加乙個新字段,欄位名為ying,資料型別是varchar,長度是10,沒有預設值,充許為空。

use cust

alter table students add ying varchar(10) null

開啟cust資料庫,修改其中的表students的結構,刪除乙個字段,欄位名為ying。

use cust

alter table students drop column ying

3.向表中插入資料

(1)用 insert 語句

語法如下:

insert [into]

[(column_list)]

注意:在插入資料時,字元資料和日期資料要使用引號引起來。

例子:use cust

insert into students

values (11,"影子","男","1999-12-12","湖北","83779805","武漢市橋口區","vb愛好者")

開啟cust資料庫,向students表中插入資料

(2)用default 選項

在插入資料時,可以使用default選項。default選項有兩種形式,一種形式是default values,另一種是default。

default values 形式為表中的某一行的所有列插入預設值。使用這種形式的前提條件是表中的所有列必須是這四種型別之一:identity屬性,timestamp資料型別,允許為null,或者有乙個指定的預設值。否則,會錯誤資訊。

例子:use cust

insert into students default values

這個例子會出現錯誤,因為students表的number欄位是設定為不允許為空的。

default 形式是為表中的某一列插入預設值。要插入的該列必須具備一定的條件,即該列要麼是timestamp 資料型別,要麼是允許為null,要麼是有乙個指定的預設值,否則,會出現錯誤資訊。

例子:use cust

insert into students values(11,"影子",default,default,default,default,default,default)

由天前2個字段不能為空,所以要賦值,否則會出現錯誤,而後面的6個字段允許為空,因此可以呼叫default預設。

(3)插入部分資料

在使用insert語句插入資料是,還可以插入部分資料,也就是可以為每一行的指定的部分列插入資料。在插入部分資料時,應該注意以下三個問題:

☆在 insert 子句中,指定要插入資料的列名。

☆在 values 子句中,列出與列名對應的資料。列名的順序和資料的順序應該完全對應。

☆在 insert 子句中,沒有列出的列應該至少具有這四種型別之一:identtty 屬性,timestamp 資料型別,允許為 null,或者有乙個指定的預設值。否則,會出現錯誤資訊。

例子:use cust

insert into students (number,name)

values (110,"影子")

開啟cust資料庫,向students表中插入一行資料

注意:如用下例語句將發生錯誤,因為name欄位是不允許為空的(在建立資料庫時設定的)

insert into students (number)

values (110)

(4)用 select 語句插入多條資料

insert 語句插入資料的特點是每一次只能插入一行資料。相反,select 也可以用在 insert 語句中,並且可以一次插入多條資料。使用 select 語句插入資料的語法形式如下:

insert table_name

select column_list

from table_list

where search_conditions

在使用 select 語句插入資料時,應該注意下面幾點:

☆在 insert 語句中使用 select 時,他們參考的表既可以是相同的,也可以是不同的。

☆要插入資料的表必須已經存在。

☆要插入資料的表必須和 select 的結果集相容。相容的含義是列的數量和順序必須相同,列的資料型別或者相同,或者sql server 可以自動轉換。

例子:use cust

insert students

select number,name,***,birthday,hometown,telphone_no,address,others

from students

注意:select 後面的字段要輸完整,這個例子是自己向自己插入多條資料(自己向自己插入是被允許的)

補充:你還可以「from students」後面加上「where name="影子"」,只插入name等於影子的記錄,可以用and 和 or 加上多個條件。

(5)使用 select into 插入資料到乙個新錶中

帶有 into 子句的 select 語句允許使用者定義乙個新錶並且把資料插入到新錶中。這種方法不同於前面講述的那些方法。在前面的那些方法中,乙個共同的特點,是在資料輸入之前表已經存在。而使用 select into 插入資料的方法,是在插入資料的過程中建立新錶。

select into 語句的語法如下:

select select_list

into new_table_name

from table_list

where search_conditions

在使用 select into 插入資料時,要注意下面幾點:

☆在某個資料庫中使用 select into 插入資料時,設定該資料庫的 select into/bulk copy 為真。

☆新錶不能存在,否則會產生錯誤資訊。

☆新錶中的列和行是基於查詢結果集

☆要插入的資料不記錄在日誌中。

☆在select_list 中出現的列應該使用別名,否則,新錶中的列沒有列名。沒列名的表只能通過 select * from new_table_name 的形式查詢。因此,應該為列起個別名。

☆這種方法多用在對列進行各種計算的情況。

例子:select number,name

into newcust1

from students

建立新的表newcust1,插入students表中的number和name欄位的所有資料。

補充:如果要插入所有欄位的記錄,則「select *」,也可在「from students」後加條件,方法和上個例子一樣。

(6)用 update 語句修改表中的資料

update 語句用來修改表中已存在的資料。update 語句既可以一次修改一行資料,也可以一次修改許多行,甚至可以一次修改表中的全部資料。update 語句使用 where 子句指定要修改的行,使用 set 子句給出新的資料。新資料可以是常量,也可以是指定的表示式,還可以是使用 from 子句來自其他表的資料。

update 語句的語法如下:

update

set =expression [,. . .]

[where clause]

在使用 update 語句時,如果沒有使用 where 子句,那麼就對錶中所有的行進行修改。如果使用update 語句修改資料時與資料完整性約束有衝突,那麼修改就不會發生,整個修改事務全部滾回。例如,這種衝突可能是所輸入的值是錯誤的資料型別,或者所輸入的值違背了在該列定義的規則約束,等等。

例子:use cust

update students

set name=name+"007"

where number>100

開啟cust資料庫,修改students表,使number>100的資料的name的值全部加"007"。

4.用 delete 語句刪除表中的資料

當資料庫中的資料不需要的進修可以刪除。一般情況下,刪除資料使用 delete 語句。delete 語句可以一次

順序表的相關操作

include include include struct arr void init arr struct arr parr,int length bool insert arr struct arr parr,int pos,int pval bool delete arr struct ar...

鍊錶的相關操作

連線兩個迴圈單鏈表 p a next 儲存a表的頭結點位置 a next b next next b的開始結點鏈結到a表尾 free b next b next p return b 注 a,b為已構建好的迴圈鍊錶,具有尾指標 鍊錶中的環附 include include struct node s...

表許可權的相關操作

grant 賦予許可權 常用的幾種角色 1.connect 具有登陸等一系列的許可權 2.dba 擁有全部的許可權 3.resource 擁有建表的許可權 connect角色 主要應用在臨時使用者,特別是那些不需要建表的使用者,通常只賦予他們connect role.connect 是使用oracl...