以前的数据库课程很多学的不太精,现在回顾一下以前的学习。
创建数据库的语句
/* 创建数据库 */
create database wly on primary(
name='wly_data', --主数据文件的逻辑名称
filename='F:\sql语句\mdf数据库\wly_data.mdf', --主数据文件的物理名称
size=5mb, --主数据文件的大小
maxsize=100mb, --主数据文件的最大
filegrowth=15% --主数据文件的增长率
)log on(
/* 日志输出文件的描述 */
name='wly_log',
filename='F:\sql语句\log输出文件\wly_log.ldf',
size=5mb,
filegrowth=1mb
)
既然创建了数据库那么得有删除数据库的语句
/* 删除数据库 */
drop database wly
当然有了这些之后得有备份和还原数据库/
/* 备份数据库 */
use test
EXEC sp_addumpdevice 'disk','test1bak','F:\sql语句\数据库备份\test1.bak' --创建备份数据的device
backup database test to test1bak
/* 还原数据库 */
use master
/* EXEC sp_addumpdevice 'disk','test1bak','F:\sql语句\数据库备份\test1.bak' */
restore database test from test1bak with replace --直接覆盖数据库,去掉with replace会出错
有了这些之后,有时候不免要导出数据库sql文件,下面我以图片来表达
1:右击数据库->任务->生成脚本,之后出现:
2:点击下一步出现数据库,选择要生成脚本的数据库。然后要把编写数据的脚本改成true,如图:
3:点击二次下一步,出现如图的选项,将脚本保存为文件:
4:之后点击完成就好,桌面就会出现test.sql的文件。
数据库的操作完了之后,当然就是表的操作了
建表
/* 实例表 */
create table student(
sid int,
sname varchar,
primary key(sid)
)
create table teacher(
tid int,
tname varchar,
sid int,
primary key(tid),
foreign key(sid) references student(sid)
)
create table role(
rid int,
rname varchar,
sid int,
primary key(rid,rname)
)
下面就是一些修改的操作,具体格式基本一样
/* 添加列 */
alter table teacher add class varchar
/* 添加唯一约束 */
alter table teacher add unique(class)
/* 添加外键约束 */
alter table role add constraint role_student foreign key(sid) references student(sid)
/* 删除列 */
alter table teacher drop column class
/* 修改列定义 */
alter table teacher alter column class int
/* 添加索引,最好先把数据放到数据库再建索引,否则每添一次就维护一次索引 */
/* 聚集索引的索引键值和记录行都是有序的,非聚集索引只有索引键值对是有序的 */
/* 唯一索引相当于unique约束 */
create unique index stu_sid on student(sid)
create unique clustered index tea_tid on teacher(tid asc)
drop index stu_sid on student
以上的内容是sqlserver的,下面我说下mysql的数据库的备份与还原
备份:
mysqldump -uroot -proot test>test.sql
1:第一个root为用户名,第二个root为密码
2:第一个test为数据库的名字,第二个为要备份的文件名
还原
mysqldump -uroot -proot test<test.sql
这里只需要改下箭头的方向就好。
当然如果我们要重新建立一个数据库,并导入这些数据的话,就是下面的操作:
create database test
use test
source e:\test.sql
这是先创建一个数据库,再导入文件。
基本内容就这些,接下来我将一点点回顾一下所学的复杂的东西,这一篇就不多说了,下篇再和大家探讨。