sql 增刪改查
阿新 • • 發佈:2018-11-12
下面是Sql Server 和 Access 操作資料庫結構的常用Sql,希望對你有所幫助。 新建表: create table [表名] ( [自動編號欄位] int IDENTITY (1,1) PRIMARY KEY , [欄位1] nVarChar(50) default \'預設值\' null , [欄位2] ntext null , [欄位3] datetime, [欄位4] money null , [欄位5] int default 0, [欄位6] Decimal (12,4) default 0, [欄位7] image null , ) 刪除表: Drop table [表名] 插入資料: INSERT INTO [表名] (欄位1,欄位2) VALUES (100,\'51WINDOWS.NET\') 刪除資料: DELETE FROM [表名] WHERE [欄位名]>100 更新資料: UPDATE [表名] SET [欄位1] = 200,[欄位2] = \'51WINDOWS.NET\' WHERE [欄位三] = \'HAIWA\' 新增欄位: ALTER TABLE [表名] ADD [欄位名] NVARCHAR (50) NULL 刪除欄位: ALTER TABLE [表名] DROP COLUMN [欄位名] 修改欄位: ALTER TABLE [表名] ALTER COLUMN [欄位名] NVARCHAR (50) NULL 重命名錶:(Access 重命名錶,請參考文章:在Access資料庫中重命名錶) sp_rename \'表名\', \'新表名\', \'OBJECT\' 新建約束: ALTER TABLE [表名] ADD CONSTRAINT 約束名 CHECK ([約束欄位] <= \'2000-1-1\') 刪除約束: ALTER TABLE [表名] DROP CONSTRAINT 約束名 新建預設值 ALTER TABLE [表名] ADD CONSTRAINT 預設值名 DEFAULT \'51WINDOWS.NET\' FOR [欄位名] 刪除預設值 ALTER TABLE [表名] DROP CONSTRAINT 預設值名 刪除Sql Server 中的日誌,減小資料庫檔案大小 dump transaction 資料庫名 with no_log backup log 資料庫名 with no_log dbcc shrinkdatabase(資料庫名) exec sp_dboption \'資料庫名\', \'autoshrink\', \'true\' \\\'新增欄位通用函式 Sub AddColumn(TableName,ColumnName,ColumnType) Conn.Execute(\"Alter Table \"&TableName&\" Add \"&ColumnName&\" \"&ColumnType&\"\") End Sub \\\'更改欄位通用函式 Sub ModColumn(TableName,ColumnName,ColumnType) Conn.Execute(\"Alter Table \"&TableName&\" Alter Column \"&ColumnName&\" \"&ColumnType&\"\") End Sub \\\'檢查表是否存在 sql=\"select count(*) as dida from sysobjects where id = object_id(N\'[所有者].[表名]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1\" set rs=conn.execute(sql) response.write rs(\"dida\")\'返回一個數值,0代表沒有,1代表存在 判斷表的存在: select * from sysobjects where id = object_id(N\'[dbo].[tablename]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1 某個表的結構 select * from syscolumns where id = object_id(N\'[dbo].[你的表名]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1 create table student( Sno int not null primary key, Sname char(10)not null, Ssex bit not null, Sage tinyint not null, Sdept char(20) not null) create table course( Cno int not null primary key, Cname char(20)not null, Cpno int not null, Ccredit tinyint not null) create table sc( Sno int not null, Cno int not null, Grade tinyint not null foreign key(Sno)references student(Sno) foreign key(Cno)references course(Cno) ) (1) seleCt top 1 S.sno,sname from SC,S where Cno='C2' and SC.sno=S.sno order by grade desC; (2) seleCt sname,age from Student,SC where SC.sno not in( seleCt SC.sno from SC where Cno='C2' )and SC.sno=S.sno; (3) seleCt sno, avg(grade) as average from SC group by sno having(avg(grade)>80); (3)法二 seleCt sno, avg(grade) ' average' from SC group by sno having(avg(grade)>80); (4) delete from SC where SC.sno in( seleCt sno from S where sname='S5'); (5) seleCt sname from S where sdept='英語'and sex='男'; (6) seleCt SC.sno,avg(grade) as average from S,SC where S.sno=SC.sno group by SC.sno;