SQL Server 数据库操作

–use master
–go
–if(exists(select * from sysdatabases where name=‘mydb2’)) --判断是否有这个数据库
– drop database mydb2 --删除数据库
–create database mydb2 --创建数据库
–go
–use mydb2
–go

– primary key 主键 1,不允许为空,2,不能重复 3,可以被子表的外键列引用
–identity(1,1) 标识列只能在整型上使用,只读的不允许修改(种子,增量)
–not null 不允许为空
–unique 唯一,不允许重复
–foreign key 外键
–references 引用
–check 检查约束用来判断数据是否合法
–len() 获取字体的长度
–datediff(year,时间1,时间2) 获取相差的时间差 如year年
–getdate() 获取当前时间
create table Grade
(
Id int primary key identity(1,1),
GradeName varchar(10) not null
)
go
create table Class(
Id int primary key identity(1,1),
ClassName varchar(10) not null unique,
GradeId int foreign key references Grade(Id) not null
)
go
create table Student(
Id int primary key identity(1,1),
StuCode int not null,
ClassId int references Class(Id) not null,
StuName nvarchar(10) not null check(len(StuName) >=2) default(‘匿名’),
BornDate date not null check(datediff(year,BornDate,getdate())>=18),
Phone varchar(25) null,
[Address] nvarchar(200) null default(‘宿舍’),
Email varchar(300) null,
QQ varchar(20) null
)

–SQL语句增加列、修改列、删除列

–1.增加列:

–1.alter table tableName add columnName varchar(30)

–2.ALTER TABLE dbo.doc_exa ADD column_b VARCHAR(20) NULL, column_c INT NULL ;

–2.1. 修改列类型:
–1.alter table tableName alter column columnName varchar(4000)

–2.2. 修改列的名称:

–1.EXEC sp_rename ‘tableName.column1’ , ‘column2’ (把表名为tableName的column1列名修改为column2)
–下面的示例将?TerritoryID?表中的?Sales.SalesTerritory?列重命名为?TerrID。?将以下示例复制并粘贴到查询窗口中,然后单击“执行”?
–? USE AdventureWorks2012;??
–GO
–EXEC sp_rename ‘Sales.SalesTerritory.TerritoryID’, ‘TerrID’, ‘COLUMN’;
–GO
–3.删除列: 1.alter table tableName drop column columnName4,指定表中某列默认数据ALTER TABLE dbo.doc_exz ADD CONSTRAINT col_b_def DEFAULT 50 FOR column_b ;

–select distinct MenuName from SystemMenuInfo 查询一行中的不重复的数据重复数据不显示
–select top 5 MenuName from SystemMenuInfo 查询前5行
–# 排序
–select MenuID
–from SystemMenuInfo
–order by MenuID

–按多个列排序
– select MenuID ,MenuName ,MenuDll
–from SystemMenuInfo
–order by MenuID ,MenuName;
–按列位置排序
–select MenuID,MenuName,MenuDll
–from SystemMenuInfo
–order by 2,3;
–指定排序方向 从大到小
–select MenuID ,MenuName ,MenuDll
–from SystemMenuInfo
–order by MenuID desc;
–4课 查询指定的列中的数据
–select MenuName
–from SystemMenuInfo
–where MenuName=‘餐饮查询’;
–在 同时 使用 ORDER BY 和 WHERE 子句 时, 应该 让 ORDER BY 位于 WHERE 之后, 否则 将会 产生 错误

--检查单个值
--select MenuID ,MenuName
--from SystemMenuInfo
--where MenuID<1000009
--不匹配查询
--select MenuID ,MenuName
--from SystemMenuInfo
--where MenuID<>1000009
--空值查询 空值查询是查询里面null 不是''
--select *
--from SystemMenuInfo
--where DicID is null;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值