sql server 增刪改(查太多了)

表:sql

學生(*學號,姓名,性別,年齡,專業)

create table student(

   sno char(13) primary key,

   sname varchar(20) not null,

   ssex char(2),

   sage smallint,

   sdept varchar(30)

);

 

 

課程(*課程號,課程名,學分)

create table course(

   cno char(4),

   cname varchar(40) not null,

   ccredit smallint not null,

   咱們能夠將字段的定義和主外鍵的定義分開

   primary key (cno)

);

 

 

選課(學號,課程號,分數)

create table sc(

   sno char(13),

   cno char(4),

   grade smallint,

 

   primary key (sno,cno),--定義聯合主鍵

   foreign key (sno) references student(sno),

   constraint FK_sc_cno foreign key (cno) references course(cno)

);

 

建立一個用戶表

create table tb_user(

   userid int identity(1,1),【設置整型字段自動增加】

   username varchar(20) not null,

   userpass varchar(16) not null,

   groupid int

);

建立用戶組表

create table tb_group(

   groupid int primary key identity(1001,1),

   groupname varchar(30) not null

);

insert(增長)

使用 insert 語句向表中插入數據。

insert into table [(column [, column...])]

values (value [, value...]);

插入的數據應與字段的數據類型相同。

 

舉例:

方法一:不指定列,插入全部字段

insert into student values('2010040','kangji','',22,'計算機科學學院');--SQLServer老是嘗試轉化爲相同的類型

insert into student values(20100402,'張三','',22,'計算機科學學院');

方法二:指定列,插入部分字段

insert into student (sno,sname) values('20100403','李四');

 

注意:

1)      數據的大小應在列的規定範圍內,例如:不能將一個長度爲80的字符串加入到長度爲40的列中。

2)      在values中列出的數據位置必須與被加入的列的排列位置相對應。

3)      字符和日期型數據應包含在單引號中。

4)      插入空值,不指定或insert into table value(null)

注意:在SQLServer 中,''=null; ' '=null; '   '=null;

 

批量插入數據

insert into u(username,userpass) select sname,sno from student where ssex=''; 

update(修改)

使用 update語句修改表中數據。

 

update 表名 set 列名=表達式[,列名=表達式 ...] [where where_definition]   

 

update語法能夠用新值更新原有錶行中的各列。

set子句指示要修改哪些列和要給予哪些值。

update student set sname='康吉' where sno='20100401';

 

update student set sname='康吉',sage=23 where sno='20100401';

 

where子句指定應更新哪些行。如沒有where子句,則更新全部的行。

 

修改還有 null 值的數據 is null

select * from student where ssex is null;

 

delete(刪除)數據庫

使用 delete語句刪除表中數據。ide

delete from 表名 [where where_definition]spa

 

若是不使用where子句,將刪除表中全部數據。code

delete語句不能刪除某一列的值(可以使用update對值置null)blog

使用delete語句僅刪除記錄,不刪除表自己。如要刪除表,使用【drop table表名】語句。字符串

同insert和update同樣,從一個表中刪除記錄將引發其它表的參照完整性問題,在修改數據庫數據時,頭腦中應該始終不要忘記這個潛在的問題。it

 

刪除表中所有數據io

delete table 表名; table

 

刪除表中指定數據

delete from student where xh='A001';

 

級聯刪除和更新

create table class(

   id int primary key,

   name varchar(10)

);

 

create table student(

   id int primary key,

   class_id int references class(id) on delete/update cascade

);

 

alter table student add constraint FK_classid foreign key (class_id) references class(id) on update cascade on delete cascade

 
相關文章
相關標籤/搜索