SQL数据库
数据库:分为 层次型,网状型,关系型。现在通常都是使用关系型
常用的:SQLServer,Oracle,DB2,Access,Visual Foxpro,MySQL
SQL:Structured Query Language
SQL Server 是一种大型的数据库软件,是用来管理和修改数据库的
SQL Server 登陆的几要素:
1.服务器类型——数据库引擎
2.服务器名称——本机.或(local),远程机计算机名或IP
3.身份验证——Windows身份验证(管理员使用),SqlServer身份验证(开发人员)
4.用户名:sa - 超级管理员
5.密码:
如何开启SQLServer身份验证?
1.在服务器属性中,修改身份验证模式。SqlServer和Windows身份验证。
2.启用sa帐号的两个功能:授予访问数据库。启用登录。
3.修改sa的登录密码
SQLServer的三层结构:
1.硬盘Data文件夹中的.mdf。存储数据的地方。
2.SqlServer的服务。
3.数据库管理界面
创建数据库:
格式:create database 数据库名 -----大小写不敏感
文件类型:
1.主数据文件:.mdf 只有一个
2.次数据文件:.ndf 可以有多个
3.日志文件: .ldf 可以有多个
数据类型:
整数数据类型(int) :int, smallint, bigint, tinyint
浮点数据类型(double) :float ,real ,decimal
decimal可以限制宽度跟精度,写为:decimal[p,s],p表示宽度(值得总位数),s表示精度(小数点后位数)
布尔型(bool) : bit (只包括 0 或 1 ,可以用bit数据类型代表 ture 或 false)
字符串类型(string) :char ,varchar, nchar ,nvarchar ,text (一般使用varchar,固定长度时使用char)
日期时间类型(datetime) :datetime (1753-1-1,9999-12-31) ,smalldatetime (1900-1-1,2079-6-6)
二进制数据类型:binnary /image , 二进制,大型二进制
删除数据库:drop database 数据库名
修改数据库:alter database 数据库名
建表:creat table 表名
改表:alter table 表名
删表:drop table 表名
create database 数据库名
go --穿件完成 go
create table 表名
(
列名 类型,
列名 类型,
列名 类型 --最后一个列名不加逗号
)
go --创建完成go
以创建表为例
create table book
(
daihao varchar(10),
mingcheng varchar(50),
zuozhe varchar(10),
chubanshe varchar(50),
shijian datetime
)
go--创建完成加go
--插入
insert into book(daihao,mingcheng,zuozhe,chubanshe,shijian)
values('D001','数据库菜鸟教程','作者','出版社','2015/5/21')
insert into book(daihao,mingcheng,zuozhe,chubanshe,shijian)
values('D002','数据库基础教程','作者','出版社','2015/5/21') --插入表后的列名有哪些就给哪些赋值,没有赋值的在表中是NULL
insert into book(daihao,mingcheng,chubanshe,shijian)
values('D003','数据库中级教程','出版社','2015/5/21')--values的值要与插入表后的列顺序一致
insert into book(shijian,chubanshe,zuozhe,mingcheng,daihao)
values('2015/5/21','出版社','作者','数据库高级教程','D004')--插入表明后面不加列名的每一列都要赋值
insert into book values('D05','数据库精英教程','作者','出版社','2015/5/21')--表名后面不加列名则按创建表的列名顺序依次为每一列添加数据
--修改表值
update book set shijian='1990/02/27' where zuozhe='作者'
update book set zuozhe='汪汪',chubanshe='清华大学出版社' where daihao='D001'--修改多个值用逗号隔开
update book set zuozhe=zuozhe+',车' where daihao='D001' --在已有值得基础上增加值
--删除
delete from book where daihao='D005'
select * from book
select * from 表名 --*代表所有元素
select 列名,列名 from 表名 --显示两个查询的内容
select distinct 列名 from 表名 --distinck消除重复的元素
select * from 表名 where Price between 30 and 50 --between在两者之间
select * from 表名 where Name like '奥迪%'--"%"代表有任意字符
select * from 表名 where Name like '__5%'-- "_"下划线代表一个任意字符
select top 5 * from 表名 --top查询的结果支取前xxx个数值
select 列名 别名 from 表名 -- 条件后面加空格可添加列名即别名
select * from 表名 order by 列名 --升序后面加asc降序加desc 默认为降序
select * from 表名 order by 主排序列,次排序列 desc--order by后第一列为主排序列,逗号后面为此排序,即主列相同按次列排序