Record
1.数据库简介
数据库:将数据结构来组织,存储和管理的仓库
DBA:数据库管理员
物理层(实现)-概念(中间层)-逻辑层(用于看到的表)
特点
1.共享 2.沉余 3.数据集中管理 4.安全可靠 5.故障恢复
各大数据库分类
小型数据库 | 大型数据库 | 海量数据库 |
---|---|---|
access | oracle | db2 |
sysbase | ||
sql server | ||
informix | ||
mysql |
选择哪种数据库?
- 成本? access < 2000, oracle > 2000
- 功能?
- 并发性(最终用户多少)
- 安全性? oracle,db2 认证第一
2.SQL server 基础
2.0SQL语句哪几种?
**1.DDL 数据定义
2.DML数据管理
3.DQL数据查询
4.DCL数据控制**
2.1规范
1.表和列长度不能超过128字符
2.表和列开头只能字母和下划线
3.不使用保留字
2.2基本数据类型
char | 非Unicode | max8000字符 | 固定长度,自动补全 | |
---|---|---|---|---|
varchar | 非Unicode | 8000 | 变长 | 字母1byte,汉字2byte |
nchar | Unicode | 4000 | 固定 | 2byte1个字符 |
nvarchar | Unicode | 4000 | 变长 | Unicode查询快 |
* 数据库查询,定长char比变长varchar快
* nvarchar处理Unicode比varchar快
ntext | Unicode | 2^30-1个字符 | 变长 |
---|---|---|---|
text | 非Unicode | 2^31-1 | 变长 |
* 编码:非Unicode 包括 big5-繁体,iso-8859-1 欧文, gb2312, gbk更多汉字, utf-8,utf-16 统一使用
数字型 | ||
---|---|---|
bit | 0 | 1 |
int | -2^31 | 2^31-1 |
bigint | -2^63 | 2^63-1 |
小数 | ||
---|---|---|
float | 精度低,不推荐 | float(10),指定科学记数法尾数为10位 |
numeric | 精度38位 | numeric(10,3),正数10位,小数3位 |
日期类 | ||
---|---|---|
datetime | 精确到毫秒 | values(getdate()) |
timestamp | 数据修改的相对位置 | 用于数据恢复 |
多媒体 | ||
---|---|---|
image | 图片 | 多用来存储路径,有专门图片服务器,图床 |
binary | 视频 | 存储路径 |
* 何时存储图片到数据库?需要安全的时候
2.3数据操作
CREATE database heros
use heros
go
create table heroinfo(id int primary key, name varchar(50), age int, sex char(2), score int)
drop table heroinfo
insert into heroinfo(id, name) values(1, '王辰浩')
insert into heroinfo values(2, '赵刚', 18, '男', 99)
insert into heroinfo values(3, '赵某某', 19, '女', 100)
insert into heroinfo values(4, '王尼玛', 30, '男', 59)
insert into heroinfo values(5, '吴爱军', 22, '男', 60)
update heroinfo set name='只是个孩子'where id = 2
//socre为int,不要'score'
update heroinfo set score=100 where score is null
update heroinfo set score=60 where (sex='男' and score>70) or sex is null
delete from heroinfo where sex='male'
select * from heroinfo