数据库的基本 *** 作 建议设置mysql数据库表名不区分大小写SQL Server Management Studio 中命令不区分大小写数据库查询:
use Students
select *from dbo.Managment数据库的建立:
CREATE DATABASE 数据库名
[ON
{ [PRIMARY] (NAME = 逻辑文件名,
FILENAME = ‘物理文件名’
[ , SIZE = 文件初始大小]
[ , MAXSIZE = {文件最大大小| UNLIMITED } ]
[ , FILEGROWTH = 自动增量] )
} [ , … n]
]
[LOG ON
{ ( NAME = 逻辑文件名,
FILENAME = ‘物理文件名’
[ , SIZE = 文件初始大小]
[ , MAXSIZE = { 文件最大大小 | UNLIMITED } ]
[ , FILEGROWTH = 自动增量] )
} [ , … n]]
举例:
create database Stu_info #创建数据库名为 Stu_info 的数据库
create database Students
on
primary(
name='Students_data',
filename='e:\Database\Students_mdf',
size=10mb,
filegrowth=10%)
log on
(name=Students_log,
filename='e:\Database\Students_ldf',
size=1mb,
maxsize=5mb,
filegrowth=1mb)
查看数据库信息: sp_helpdb 数据库名修改数据库:alter database 数据库名
add file[,…n] [to filegroup 文件组名]:表示向指定的文件组中添加新的数据文件。
add log file [,…n]:增加新的日志文件。
remove file 逻辑文件名:删除指定的 *** 作系统文件。
remove filegroup 文件组名:删除指定的文件组。
modify file :修改某个 *** 作系统文件。
modify name=新数据库名:重命名数据库。
add filegroup 文件组名:增加一个文件组。
modify filegroup 文件组名:修改某个指定文件组的属性。举例:
ALTER DATABASE Sample
MODIFY FILE ( NAME = 'SampleLog', SIZE = 15MB)
GO
ALTER DATABASE Sample
ADD FILE
(NAME = SampleData2,
FILENAME=‘d:\Data\Sample2.ndf',
SIZE=15MB,
MAXSIZE=20MB)
GO
alter database Students
add file #添加文件
(name=Students_Data2,
filename='e:\Database\Students_Data2.ndf',
filegrowth=10%)
go
删除数据库: :DROP DATABASE 数据库名
表的基本 *** 作
创建表: CREATE TABLE 表名 ( 列定义)
create table Student(
Sno char(9) primary key, --列级完整性约束条件,Sno是主码
Sname char(20) unique, --Sname取唯一值
Ssex char(2),
Sage smallint,
Sdept char(20)
);
create table Course(
Cno char(4) primary key, --列级完整性约束条件,Cno是主码
Cname char(40) not null, --列级完整性约束条件,Cname不能取空值
Cpno char(4), --Cpno是先修课
Ccredit smallint,
foreign key(Cpno) references Course(Cno) --表级完整性约束条件,CPno是外码,被参照表是Course,被参照列是Cno
);
create table SC(
Sno char(9),
Cno char(4),
Grade smallint,
primary key(Sno,Cno), --主码由两个属性构成,必须作为表级完整性进行定义
foreign key (Sno) references Student(Sno), --表级完整性约束条件,Sno是外码,被参照表是Student
foreign key (Cno) references Course(Cno) --表级完整性约束条件,Cno是外码,被参照表是Course
);
create table Managent(
Usename char(20),
Password char(10),
id char(4) primary key
);
查看表: EXEC sp_help 表名修改表:
向表中添加新列 :ALTER TABLE 表名 ADD 列名 数据类型 属性1 属性2……..
删除表中的列 :ALTER TABLE 表名 DROP COLUMN 列名 ;
修改表中列的定义:ALTER TABLE 表名 ALTER COLUMN 列名 <列属性> ;
修改表中列的名称:EXEC SP_RENAME‘表名.原列名’,‘新列名’, ‘COLUMN’ ;
删除表: DROP TABLE 表名表中数据的 *** 作:
数据添加: INSERT [INTO] <表名> [<字段名列表>] VALUES (值列表)
insert into Student (Sno , Sname , Ssex,Sage , sdept)
values ( ' 201418048',"熊子杰·,男,'21',计算机系')
insert into Student ( Sno,Sname ,Ssex, Sage , sdept)
values ( '201418056', '李光荣',·男",'20','化学系')
insert into Course(Cno , Cname , ccredit)
values ( ' Java' , " Java程序设计·,'4")
insert into Course (Cno, Cname , ccredit)
values ( "Ios', " 1os应用开发·,'4')
insert sc (Sno,cno)
values ( '201418048", ' Java ' )
insert Sc (Sno,Cno)
values ( '201418056', 'Ios ')
数据更新:UPDATE 表名 SET {字段名 = 表达式 | NULL | DEFAULT } [ , …N] [WHERE 逻辑表达式]
update Rj1402
set Sid='rj1702'
update sc
set Grade=o
where sc.cno=" Java'
update sc
set Grade=8o
where sc.Cno="Ios'
delete from sc
where crade<60;
数据删除: DELETE FROM 表名 [WHERE 逻辑表达式 ]
DELETE FROM 教材 WHERE 出版商名称='水利水电出版社' GO
索引的基本 *** 作
索引的建立:create [unique] [ clustered | nonclustered ]
index 索引名
on { 表名 | 视图名 } ( 列名 [ asc | desc ] [ , …n ] )
with <索引选项>举例:
create unique index Stusno on Student(Sno); #根据Student(Sno)创建名为Stusno的索引
create unique index Coucno on Course(Cno);
create unique index SCno on SC(Sno asc,Cno desc);
create unique index Manid on Managment(id);
索引的查看:EXEC SP_HELPINDEX 表名 或 EXEC SP_HELP表名索引的删除: drop index 表.索引名 | 视图.索引名 [,„n]
视图的基本 *** 作
视图的建立:CREATE VIEW [<数据库名>. ] [<所有者>. ]视图名 [ (列 [ ,…n ] ) ]
[ WITH {ENCRYPTION|SCHEMABINDING | VIEW_METADATA} ]
AS
SELECT子语句举例:
create view IS_Student --建立信息系学生的视图
as
select Sno,Sname,Sage
from Student
Where Sdept='IS';
create view IS_S1(Sno,Sname,Grade)
as --建立信息系选修了1号课程的学生的视图
select Student.Sno,Sname,Grade
from Student ,SC
where Sdept='IS' and
Student.Sno=SC.Sno
and Sc.Cno='1';
视图的修改:ALTER VIEW [<数据库名>. ] [<所有者>. ]视图名 [ (列 [ ,…n ] ) ]
[WITH {ENCRYPTION|SCHEMABINDING | VIEW_METADATA} ]
AS
SELECT子语句视图的删除:
DROP VIEW <视图名>,[,[…n]] 存储过程基本 *** 作 创建存储过程:
CREATE PROC[EDURE]〈存储过程名〉
[@〈参数名〉〈参数类型〉[=〈默认值〉][OUTPUT]][,…n]
[WITH {RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION}]
[FOR REPLICATION]
AS
〈SQL语句组〉
举例:
USE Students
GO
CREATE PROC proc_2 @班级代码 char(6)
AS
BEGIN
SELECT 学号,姓名,性别,出生日期,班级代码,联系电话,家庭住址,备注
FROM 学生
WHERE 班级代码=@班级代码
执行存储过程:
[EXEC[UTE]][@状态值=]〈存储过程名〉 [[@〈参数名〉=]{参数值|@变量 [output]}][,…n]
举例:
USE Students
GO
EXEC proc_2 @班级代码=‘rj1201’
GO
查看存储过程:
sp_help 存储过程名
SP_HELP proc_2 Go
修改存储过程:
ALTER PROC [ EDURE ] 存储过程名
[@〈参数名〉〈参数类型〉[=〈默认值〉][output]][,…n]
[WITH { RECOMPILE | ENCRYPTION }]
AS
〈SQL语句组〉
举例:
ALTER PROC proc_3 @学历 char(6)
WITH ENCRYPTION
AS
SELECT * FROM 教师 WHERE 学历 like '%'+@学历
重命名存储过程:
SP_RENAME <原存储过程名>,<更改后的存储过程名>
SP_RENAME proc_1,pro_2
删除存储过程:
DROP PROC 存储过程名
DROP PROC proc_2
触发器的基本创建
创建触发器:
CREATE TRIGGER 触发器名
ON表名|视图名
AFTER | FOR | INSTEAD OF [INSERT] [,] [DELETE][,][ UPDATE ]
AS
BEGIN
<SQL 语句组>
END
举例:
CREATE TRIGGER Tr_DML
ON 学号
AFTER INSERT
AS
PRINT '添加了一条记录' #当执行插入学号时,会返回添加了一条记录的消息
查看触发器:通过SP_HELP 系统存储过程,可以了解触发器的一般信息修改触发器:
ALTER TRIGGER 触发器名
ON 表|视图
AFTER | FOR | INSTEAD OF [ INSERT ] [ , ] [DELETE][,][ UPDATE ]
AS
BEGIN
SQL 语句
END
重命名触发器: SP_RENAME<触发器原名>,<触发器新名>禁用触发器: DISABLE TRIGGER 触发器名称 ON 表名启用触发器: ENABLE TRIGGER 触发器名称 ON 表名删除触发器: DROP TRIGGER { 触发器名称 } [ ,…n ]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)