数据库的基本 *** 作

数据库的基本 *** 作,第1张

数据库 数据库的基本 *** 作表的基本 *** 作索引的基本 *** 作视图的基本 *** 作存储过程基本 *** 作触发器的基本创建

数据库的基本 *** 作 建议设置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|RECOMPILEENCRYPTION}]
[FOR REPLICATION]
ASSQL语句组〉

举例:
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 }]
ASSQL语句组〉

举例:
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 ]

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/993788.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存