SQL学习笔记

发布 2021-05-02 03:24:28 阅读 7765

什么是数据库?

答:数据库是长期储存在计算机内的有组织、可共享的数据集合。

数据库管理系统(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 ...