这是我自己做的数据库的笔记.docx
- 文档编号:9041815
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:14
- 大小:50.17KB
这是我自己做的数据库的笔记.docx
《这是我自己做的数据库的笔记.docx》由会员分享,可在线阅读,更多相关《这是我自己做的数据库的笔记.docx(14页珍藏版)》请在冰豆网上搜索。
这是我自己做的数据库的笔记
数据库:
用于存取和管理数据(数据持久化)
Access:
轻量型数据库(office强行安装)
MySQL:
跨平台数据库
SQLServer:
中型数据库
Aracle:
:
大型数据库
Informix:
专用型
数据库组件
1后天引擎
2前台工具
数据库
1表(一个较小的空间)
2日志(记录表所有的操作)
SQL
(
)
SQL
22
1.DDL
2.DCL
3.DML数据可操作语言
SQL中的数据类型
Char(x):
字节类型,char(5)该字段可以保存5个字节,用来保存英文范围是8000
Nchar(x):
字符类型,用来保存中文
Varchar(x):
可变字符长度
Nvarchar(x):
可变长度,用于保存中文
Text:
文本类型,用于存放大量文本信息至少2G
Ntext:
专门用于存放中文文本
Datetime:
只包含日期只有年月
Timestamp:
包含年月日时分秒
Img:
保存图片
常用命令
Use–name--:
选择工作数据库
F5执行SQL语句
createtablestu(
idint,
namenvarchar(10),
ageint,
addressvarchar(50)
)
建立表
select*fromstu选择表
droptablestu删除表
insertintostuvalues(1,'张飞',23,'营门口')插入一条数据
deletefromstuwhereid=1删除一条数据
updatestusetage=33wherename='张飞'改变数据库
20091019
逻辑控制
int()只显示
notint()不显示
notAndor
between
notbetween
orderby排序
as重命名
is专门用于处理NULL的条件
聚合函数不能和普通字段在一起用
Max--------求出指定字段的最大值
Min--------求出指定字段的最小值
AVG--------求出指定字段的平均值
Count--------求出指定字段的记录个数
Sum--------求出指定字段的总值
Distinct不显示重复数据如果重复只显示一次
--Selectdistinct*fromname
Groupby:
分组(求出每个部门的平均薪水,求出平均薪水最高的部门的名称)
selectmax(sal)fromsalargroupbydept
1分组
2取出最高值
Like模糊查找
%:
代表0个或多个
_:
代表必须有一个
[^x]:
不属于x的
[]:
属于
2009.10.20
Notnull:
非空约数该字段不能为空
Unique:
唯一约数在同一字段中不能有相同的值
Chenk:
primarykey:
主键约数不能为null不能重复(notnull+unique)
主键:
只有一个
外键:
在两者间建立约束条件是副表必须要一个参考字段,必须参考主表的主键主表必须与主键
createtablechinese(idint,ageint,namevarchar(20))
go
select*fromchinese
go
altertablechineseaddconstraintun_chineseunique(id)
altertablechinese:
修改chines表
addconstraintun-chinese:
增加一个叫un-chinese的约数
unique(id):
该约数是unique加在id上
子查询
1将子查询的结果中文一个值返回或作为条件
2表的过滤
2009.20.21
数学函数
Selectads(-10)绝对值
Selectpower(3,2)3的2次方
Selectrand()随机数
Selectround(12.5,-2)取整数1小数点后保留一位,-1不保留个位说
selectsqrt(9)开平方
时间函数
selectyear(getdate())as'now--年知道
selectday(getdate())as'wawa_day'--天
selectmonth(getdate())'wawa_month'--月
selectgetdate()as'wow'--当前时间
selectdateadd(mm,1,getdate())aswawa_dateadd---一月以后
字符串函数
selectupper('asd')--变大写
selectlower('ASD')--变小写
select'"去除边空格"'
selectltrim('"去除左边空格"')--去除的空格
selectrtrim"去除右边空格"')--去除的空格
定义函数
createfunctionfunc_sals(@employeint,@employint)--有报错c
returnstable--函数运行后返回一张表
as--一下是函数的主体
Return
(
Select*fromemployeewhereidin(@employe,@employ)--返回指定的数据
)
select*fromfunc_sals(1,2)给定义函数赋值
2009.10.22
批处理:
1批量处理SQL语句大量的SQL语句的集合
2begin------end相当与是一对{}
T------SQLTRAN----SQLTRANSACTION-----SQL:
在普通的SQL语句里加上循环判断
selects.stuname,c.classnamefromtb_students
jointb_classc
on(c.classid=s.classid)
--join用来连接两张表两边是两张表
--最好每张表一个别名
--on连接数据的条件
--在外键的情况下,默认为是inner内连接
2009.10.26
聚集索引:
调整磁盘中数据位置性能要求高
非聚集索引:
产生一张表数据存储的大概位置占空间
createuniqueclusteredindexio_indexoninde(id)---建立聚集索引
createindexio_indexoninde(d)--非聚集索引
createuniqueindexio_indexoninde(id)--非聚集索引
必须在相应的数据上加上索引在查询的时候必须正确的使用有索引的字段
----------开始/结束
--------------------输入
-----------------处理
--------------判断
----------输出
--------------------同页连接
-----------分页连接
2009.10.27
游标:
用来定位的
分类
1只进游标:
只能往前查询不能往后或随机查询
2滚动游标:
可以随机也可以往前或往后查询
3更新游标
4键集游标
2009.10.28
存储过程:
是一系列SQL语句的集合
CTEATEPROCEDUREMY_NAME@NAMEVARCHAR(20)--创建存储过程
AS
BEGIN
SELECT*FROMSALARYWHERENAMELIKE@NAME+’%’
END
ECECMY_NAME’W’–-调用过程
值传递引用传递
2009.11.1
触发器:
在表被删除,修改,添加的时候会自动运行的存储过程本质上是存储过程
CREATETRIGGERTEST_NAME--创建触发器
ONTABLE_NAME--要关联的表
FORINSERT,UPDATE,DELETE---在什么情况下被调用
AS
BEGIN
ROLLBACK---回滚取消所有操作
END
11.2.2009
事务
1.维护数据的完整性
2写在同一个事务里的SQL语句要么全执行要么都不执行
开始:
Begintransaction/begintran
提交:
committransaction/committran
回滚:
rollbacktransaction
保存点:
Savetransaction
判断SQL是否发生错误:
@@error
SQL运输符优先顺序*/%+-s
关系运算符合!
=><<>
逻辑运算符合andofnot
Ascii:
将字符转Ascii码
Char:
将ascii转换为字符
Len:
求长度
Pantindex:
查找位置
Stuff:
删除替换
Substring/str:
截子串subsrting对应的是字符str数字
Selectstr()
Mdf()主信息
Ndf:
附加信息
Ldf:
日志文件
Master:
核心数据库存放所有配置信息和用户信息
Model:
模板数据库所有建立的数据库,表都是参照它建立的
Msdb:
警告记录操作
Tempdb:
零时数据库存放零时性的数据
All大于最大的
Any大于最小的
1
数据库:
用于存放数据表,数据视图,数据操作的一些列集合。
DBMS:
表的结构(每一列又称为一个字段,每一行又称为一条记录)
每一个设计完善的表都应该有一个唯一的标识,以便于使每一条记录不重复
又称之为主键
2
SQL又称为结构化的查询语言
DDL数据库的定义,表的定义
DML数据的增加,数据的修改,数据的删除,数据的查询
DCL主要的赋予权限的一些语句
3
如何建立一个最简单的数据库
使用Create命令及SQLServer中的数据类型的划分
Createdatabase数据库的名字
注释“--“
Sql语句属于命令编程通常执行都是一条一条的语句进行执行。
数据库的名字具有唯一性
SQL中的数据类型
Char(n)---------Char(5)------字节类型,该字段可以保存5个字符
NChar(n)-----字符类型,用来保存中文
varChar(n)-----可变字符长度
nvarChar(n)------可变长度,专门用于保存中文
int
float
text------------文本类型,用于存放大量的文本内容,至少2G
ntext--------专门用于存放中文文本
datetime------只能包含日期只有年月日
timestamp----包含年月日小时,分钟,秒
img----用于保存图片
c创建数据库
要创建数据库源文件,数据库的日志文件
--创建数据库的命令
createdatabase数据库名
on--用于设置数据文件的磁盘文件
(name=逻辑名字--name:
设置数据库的逻辑名字
FILENAME=路径.mdf--数据库的存储位置以及名字
SIZE=10,--指定
MAXSIZE=50,--指定
FILEGROWTH=5--指定
文件的FILEGROWTH设置不能超过MAXSIZE设置。
)
LOGON—-指定用于存储日志文件的磁盘文件
(name=逻辑名字--name:
设置数据库的逻辑名字
FILENAME=路径.ldf--数据库的存储位置以及名字
SIZE=10,--指定
MAXSIZE=50,--指定
FILEGROWTH=5--指定
文件的FILEGROWTH设置不能超过MAXSIZE设置。
)
Go
Go用信号通知Microsoft?
SQLServer?
实用工具一批Transact-SQL语句的结束。
查看数据库的详细信息
Sp_helpdb数据库名
重命名数据库
Sp_renamedb旧名字,新名字
删除数据库
Dropdatabase数据库名
修改数据库
ALTERDATABASETest1
ADDFILE
(
NAME=Test1dat2,
FILENAME='c:
\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\t1dat2.ndf',
SIZE=5MB,
MAXSIZE=100MB,
FILEGROWTH=5MB
)
Go
B.向数据库中添加两个日志文件
下例向数据库中添加两个5MB大小的日志文件。
USEmaster
GO
ALTERDATABASETest1
ADDLOGFILE
(NAME=test1log2,
FILENAME='c:
\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\test2log.ldf',
SIZE=5MB,
MAXSIZE=100MB,
FILEGROWTH=5MB),
(NAME=test1log3,
FILENAME='c:
\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\test3log.ldf',
SIZE=5MB,
MAXSIZE=100MB,
FILEGROWTH=5MB)
GO
c.数据删除文件
ALTERDATABASE数据库名
REMOVEFILE文件名
GO
d.更改名字
ALTERDATABASE数据库名
MODIFYFILE
(NAME=test1dat3,
SIZE=20MB)
GO
在修改数据库大小时,为了防止数据的丢失,只能扩展空间,不能对空间进行收缩。
4
usesongxiang选择工作用数据库
F5执行SQL语句
createtablestu(
idint,
namenvarchar(10),
ageint,
addressvarchar(50)
)
建立表
select*fromstu选择表
droptablestu删除表
insertintostuvalues(1,'张飞',23,'营门口')插入一条数据
deletefromstuwhereid=1删除一条数据
updatestusetage=33wherename='张飞'改变数据库
学习使用简单的增加,删除,修改命令
5
学习使用检索命令(Select命令的使用),orderby
updatestusetage=1000whereidin(1,2,3)in多个等号
updatestusetid=100wherename='黄忠'andage='100'andaddress='红光镇'andor的用法
updatestusetid=100wherename='黄忠'orage=100andaddress='红光镇'
select*fromstuorderbyidasc按照Id排序asc升序desc降序
有一个数据库,里面有10条数据,现在要求按照年龄排序,取出4---6的3条数据
Innerjoin=join内连接(排它性能连接)选出符合要求的
Outterjoin
Leftouterjoin
Rightouterjoin
Fulljoin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自己 数据库 笔记