数据库的实现
insert into 表名 (字段1) values(值1)
insert into stuinfo (stuname,stuno,stuage) values ('张三','s25010','22')
>[2]更新数据
update 表名 set 字段1=值1,………,where (条件)
update stuinfo set stuage = 25 where stuname = '张三'
>[3]查询数据
select 字段1,字段2,………,from 表名 where 条件 order by 字段名
select stuname,stuno from stuinfo where stuage < 25 order by stuno
>[4]删除数据
delete from 表名 where 条件
delete from stuinfo where stuage < 20
………………………………………………………………………………………………………………………………
>[5]创造数据库
create database studb
on primary
(
name = 'studb_data',-----主数据文件的逻辑名
filename = 'D:\project\studb_data.mdf',-----主数据文件的物理名
size = 5mb,-----主数据文件的初始大小
maxsize = 100mb,-----主数据文件增长的最大值
filegrowth = 15%-----主数据文件的增长率
)
log on
(
name = 'studb_log',
filename = 'D:\project\studb_log.ldf',
size = 5mb,
filegrowth = 1mb
)
go
………………………………………………………………………………………………………………………………
>[6]创建多个数据文件和多个日志文件
create database employees
on primary
(
name = 'employee1',
filename = 'D:\project\employee1_data.mdf',
size = 5mb,
filegrowth = 10%
),
(
name = 'employee2',
filename = 'D:\project\employee2_data.ndf'
size = 20mb,
maxsize = 10%,
filegrowth = 1
)
log on
(
name = 'employeelog1',
filename = 'D:\project\employeelog1_log.ldf',
size = 10mb,
filegrowth = 1
)
(
name = 'employeelog2',
filename = 'D:\project\employeelog2_log.ldf',
size = 10mb,
maxsize = 50mb,
filegrowth = 1
)
go
………………………………………………………………………………………………………………………………
>[7]删除数据库
drop database 数据库名
drop database studb
use master-----以便访问SYSDATABASES表
go
if exists (select * from sysdatabases where name = 'studb')
drop database studb
create database studb
on primary
(
………略………
)
log on
(
………略………
)
go
………………………………………………………………………………………………………………………………
>[8]创建表
create table 表名
(
字段1 数据类型 列的特征
字段2 数据类型 列的特征
………
)
use studb
go
create table stuinfo
(
stuname varchar(20) not null,
stuno char(6) not null,
stuage int not null,
stuid numeric(18,0),-----身份证号,numeric(18,0)代表18位数字,小数位数为0
stuseat smallint identity(1,1),-----座位号,自动编号(标识列),从1开始递增
stuaddress text
)
go
………………………………………………………………………………………………………………………………
>[9]删除表
use studb
go
if exists (select * from sysobject where name = 'stuinfo')
drop table stuinfo
create table stuinfo
(
………略………
)
go
………………………………………………………………………………………………………………………………
>[10]创建和删除约束
1. 主键约束(primary key constraint):要求主键列数据唯一,并且不允许为空
2. 唯一约束(unique constraint):要求该列唯一,允许为空,但只能出现一个空值
3. 检查约束(check constraint):某列取值范围限制,格式限制等…
4. 默认约束(default constraint):某列的默认值
5. 外键约束(foreign key constraint):用于在俩表间建立关系,需要指定引用主表的哪列
添加表约束
alter table 表名
add constraint 约束名 约束类型 具体的约束说明
alter table stuinfo
add constraint pk_stuno primary key (stuno)
删除表约束
alter table 表名
drop constraint 约束名
alter table stuinfo
drop constraint pk_stuno
………………………………………………………………………………………………………………………………
>[11]创建登陆帐户
添加windows登陆帐户
exec sp_grantlogin 'windows域名'
exec sp_grantlogin 'kongjian\monvb'-----windows 用户为kongjian\monvb,kongjian表示域
添加SQL登陆帐户
exec sp_addlogin '帐户名','密码'
exec sp_addlogin 'zhangsan','123'
………………………………………………………………………………………………………………………………
>[12]创建数据库用户
exec sp_grantdbaccess '登陆帐户','数据库用户'
use studb
go
exec sp_grantdbaccess 'kongjian\monvb','monvb'
………………………………………………………………………………………………………………………………
>[13]向数据库用户授权
grant 权限 on 表名 to 数据库用户
use studb
go
grant insert,delete,updata,select on stuinfo to monvb-----为数据库用户monvb授权对表进行增,删,改,查的权限
grant create table to monvb-----为数据库用户monvb授权建表的权限