sql server 常用操作

本文详细介绍如何使用SQL进行表的创建、插入、更新、删除等基本操作,并提供了实用的示例代码,帮助读者快速掌握SQL表管理技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建表:

CREATE TABLE [表名](
[列名1] [varchar](6) NOT NULL,
[列名2] [int] NOT NULL,
[列名3] [nvarchar](100) NOT NULL,
 CONSTRAINT [主键约束] PRIMARY KEY CLUSTERED 
(
[列名1] ASC,
[列名2] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)

)

注:
varchar(n):长度为n个字节的可变长度且Unicode的字符数据。n必须是一个介于1和8,000之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节
nvarchar(n):包含n个字符的可变长度非Unicode 字符数据。n 的值必须介于1与4,000之间。字节的存储大小是所输入字符个数的两倍
字段值只是英文可选择varchar,而字段值存在较多的双字节(中文、韩文等)字符时用nvarchar
char和nchar 是定长的

text 长度可变 不用指定长度 缺省最大长度65536

删除表:Drop table [表名]

插入数据:Insert Table [表名](列名1,列名2,...) Values(值1,值2,...) 注:汉字字符串前加N

删除数据:Delete Table [表名] where 条件

更新数据:UPDATE Table [表名] Set 列名1=值1,列名2=值2,...[where 条件]

增加字段:Alert Table [表名] Add [列名1] [列属性][可为空]

例:alert table A Add Name nvarchar(30) null

       alert table A Add IsDelFlg bit not null default 0

删除字段:Alert Table [表名] Drop Column [列名]

修改字段:Alert Table [表名] Alert Column [列名] nvarchar(30) null

新建约束:Alert Table [表名] Add CONSTRAINT [约束名] Check ([[约束字段]的check])

新建默认值:ALTER TABLE [表名]ADD  CONSTRAINT [DF_表名_列名1]  DEFAULT ((0)) FOR [列名1]

新建外键约束:ALTER TABLE [表名1]  WITH CHECK ADD  CONSTRAINT [FK_表名1_表名2] FOREIGN KEY([表1_列1])

REFERENCES [表名2] ([表2_列1]) ON UPDATE CASCADE ON DELETE CASCADE

ALTER TABLE [表名1]CHECK CONSTRAINT [FK_表名1_表名2]

删除约束:Alert Table [表名] Drop CONSTRAINT [约束名]

循环插入数据:

declare @t int
set @t=1
while(@t<=100)
begin
INSERT INTO [表名](列名1,列名2,...) Values(值1,值2,...) 
set @t=@t+1
end

注:@t as VARCHAR(10) 可以将int转成字符串 {N'テスト用SubTitle'+cast(@t as VARCHAR(10))}方便测试

添加字段通用函数
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 ceshi from sysobjects where id = object_id(N\'[dbo].[表名]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1\"
set rs=conn.execute(sql)
response.write rs(\"ceshi \")\'返回一个数值,0代表没有,1代表存在

判断表的存在:
select * from sysobjects where id = object_id(N\'[dbo].[表名]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1

某个表的结构

select * from syscolumns where id = object_id(N\'[dbo].[表名]\') and OBJECTPROPERTY(id, N\'IsUserTable\') = 1


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值