什么是数据库?
答:数据库是长期储存在计算机内的有组织、可共享的数据集合。
数据库管理系统(dbms)和数据库系统(dbs)的区别在哪儿?
答:数据库管理系统(dbms)是操作系统上的一个数据管理软件;而数据库系统是由计算机硬件、操作系统、db、dbms及应用程序和相关操作人员构成。
sql数据库的系统数据库包括四个数据库:master、tempdb、model和msdb数据库。
master数据库保存了sql server系统的全部系统信息,包括所有登录和系统配置信息,所有系统及用户建立的数据库的有关信息。
model数据库是一个模板数据库,用于保存database级的系统信息。
tempdb数据库是一个临时数据库,它保存系统和用户建立的所有的临时表和临时存储过程。
msdb数据库主要为sql server agent提供系统服务,完成一些调度性的工作,如数据库备份和复制等。
sql数据库的实例数据库包括两个数据库:pubs和northwind数据库。
pubs数据库是一个图书出版方面的实例数据库,被广泛应用于sql server数据库文档的实例中,该数据库可随意进行修改和删除。
northwind数据库是一个进出口食品销售实例数据库,也广泛应用于sql server数据库文档的实例中。
sql server数据库的文件类型。
主数据文件:存储数据信息和数据库启动信息。主要数据文件由主文件组中的初始数据文件组成。
它包含所有数据库系统表。主要数据文件是数据库的起始点,它指向数据库中的其他文件。每一个数据库都有一个主要数据文件和一个主文件组,主要数据文件的扩展名是 .
mdf。
次数据文件:存储数据文件未存储的数据信息。一些数据库可能因为太大而需要很多次要数据文件,也可能在多个独立的磁盘驱动器上使用次要数据文件,以把数据分布在多个磁盘上。
次要数据文件的扩展名是 .ndf。
日志文件:存储用于恢复数据库的所有日志信息。每一个数据库必须有一个事务日志文件。
除特别指定外,事务日志文件是自动创建并由系统命名的。事务日志文件的扩展名是 .ldf。
sql数据库语言分类:
一)数据定义语言(ddl):定义数据库及其对象的框架结构【create,drop,alter】
二)数据操作语言(dml):对数据的操作【select,insert,update,delete】
三)数据控制语言(dcl):定义数据库对象权限【grant,revoke,deny】
详解sql语言基础和分类。
sql是structure query language(结构化查询语言)的简称,是用户与数据库交流所需要的标准语言,是应用程序和数据库进行交互操作的接口。sql语言主要有以下几类:
1.数据查询语言dql语句(select):用户查询数据可数据。在sql所有语句中,select语句的功能和语法最复杂和最灵活。
2.数据操纵语言dml:用于改变数据库数据,包括数据插入insert,更新已存在数据update,和删除数据delete
3.事务控制语言tcl:用于维护数据的一致性,包括用于确认已进行的数据库改变commit,用于取消已进行的数据改变rollback和用于设置保存点以取消部分数据库改变的s**epoint
4.数据定义语言ddl:用于建立,修改和删除数据库对象,例如使用create table可以创建表。
alter table则可以对表的结构进行修改,而如果想删除某个表的话,可以用drop table语句。ddl数据是会自动提交事务的。
5.数据控制语句dcl:用于执行权限授予和收回的操作,包括grant(用于给用户或者角色授予权限)和revoke(用于收回用户或者角色所具有的权限)两条命令。
sql的语句编写规则:
sql关键字不区分大小写。
对象名和列名不区分大小写。
字符值和日期区分大小写。
当语句的文本很长时,可以将语句文本分布在多行上,并且可以通过使用跳格和缩进提高可读性。
另外,在sql*plus中sql语句要以分号结束。
sql数据库定义语言语句。
创建数据库:
create database 数据库名称。
[on指定数据库的数据文件存储位置。
primary
创建主文件组。
(name = 主文件组中第一个数据文件名称 ,filename = 数据文件存储的路径地址` ,size = 数据文件初始大小 ,]
maxsize = 数据文件的最大值 ,]
filegrowth = 数据文件每次增量值] )
可以是数值,也可以是百分比。
(name = 主文件组中第二个数据文件名称 ,filename = 数据文件存储的路径地址` ,size = 数据文件初始大小 ,]
maxsize = 数据文件的最大值 ,]
filegrowth = 数据文件每次增量值] )
可以是数值,也可以是百分比。
filegroup 用户所属组名
创建用户定义文件组。
(name = 用户定义文件组中第一个数据文件名称 ,filename = 数据文件存储的路径地址` ,size = 数据文件初始大小 ,]
maxsize = 数据文件的最大值 ,]
filegrowth = 数据文件每次增量值] )
可以是数值,也可以是百分比。
(name = 用户定义文件组中第二个数据文件名称 ,filename = 数据文件存储的路径地址` ,size = 数据文件初始大小 ,]
maxsize = 数据文件的最大值 ,]
filegrowth = 数据文件每次增量值] )
可以是数值,也可以是百分比。
[log on
指定数据库的日志文件存储位置。
(name = 日志文件名称 ,filename = 日志文件存储的路径地址` ,size = 日志文件初始大小 ,]
maxsize = 日志文件的最大值 ,]
filegrowth = 日志文件每次增量值] )
可以是数值,也可以是百分比。
修改数据库:
alter database 数据库名称。
add file [to filegroup 要添加的文件组名称]
将指定文件添加进数据库中的指定文件组。
add log file
将指定日志文件添加进数据库中。
add filegroup 要添加的文件组名称。
给指定数据库添加文件组。
remove file
从数据库中删除指定文件,文件必须为空。
remove filegroup 要删除的文件组名称
从数据库中删除指定文件组,文件组必须为空。
modify file
更改指定文件信息。
modify name 新的数据库名称
修改数据库名称
其中具体指:
( name = 指定文件名称 ,[filename = 指定文件所处路径` ,
[ size = 指定文件初始大小 ,]
[ maxsize = 指定文件的最大值 ,]
[ filegrowth = 指定文件每次增量值] )
另,modify file可修改的选项包括filename、size、maxsize和filegrowth,但每次只能更改其中一种。如果要修改size,那么新更改的大小必须比文件当前大小要大。只能为tempdb数据库中的文件指定filename,而且新路径只有在重启sql server之后才会生效。
删除数据库:
drop database 数据库名称。
创建数据表:
use 数据库名称使用此数据库。
SQL学习笔记
目录。1 数据库创建 1 2 创建表 1 3 表结构查询 2 4 在表中增加列 3 5 修改列的约束属性 3 6 使用insert into 语句添加数据 3 7 使用 select into 添加相关的数据到一个新表中 4 8 间接修改列为非空值的办法 4 9 更为完善的create table ...
SQL学习笔记
where子句。比较运算符 范围说明 between a and b,not between a and b.可选值列表 in not in 一般用于嵌套查询。模式匹配 like not like 是否空值 is null is not null 上述条件的逻辑组合 and or not 内容大小写...
SQL学习笔记
增加记录。在使用sql数据库的时候,我们也许会需要一次像数据库中添加多条记录,那么我们可以使用sql语句来实现,该语句具体如下 添加一条记录。insert into tablename col1,col2,col3 values 1,2,3 添加多条记录。insert into tablename ...