数据库
1、数据库相关概念
数据库服务器(本质就是以太计算机, 该计算机之上的安装有数据库管理软件的服务端)
数据库管理系统RDBMS(本质就是一个c/sJ架构的套接字软件)
库(文件夹)===数据库
表(文件)
记录:抽取一个事物所有典型的特征/数据
数据
name='egon' age=18 height=180 sex="male" beutiful=True
2、数据库管理系统/软件分类:
关系型:
有表结构,存取数据前必定先定义表结构,存数据必须按照字段的类型或者约束来。
典型代表:Mysql, Oracle ,DB2,SQL Server
非关系型:
存取数据都是采用key:value 的形式
非关系型:Mongodb,redis
一、基本的SQL 语句
文件夹(库)
增:
create database db1 charset utf8;
改
alter database db1 charset gbk;
查:
查看所有库名
show databases;
单独查看某一个库的信息:
show create database db1;
删:
drop database bd1;
文件(表)
首先切换文件: use db1; 增 create table t1(id int, name char) 改: alter table t1 modify name char(16) 查: 查看当前所在的文件夹 selectdatabase() 查看当前库下所有的表名 show tables; 查看t1表的详细信息 show create table t1; 查看表结构 desc t1
删
drop table t1
文件 的 一行内容(记录)
增 insert into db1.t1 balues (1,'egon'), (2,'alex'), (3,'lxx'); 改 update db1.t1 set name='sb' where id>1; 查 select id.name form db1.t1; 删 delect from db1.t1 where name='SB';
二 基本的数据类型
整型:int
整型的存储宽度是规定死的,我们制定宽度是显示宽度, 通常使用默认的显示宽度
浮点型 ;float
float与double能支持的十进制数的总位数都是255,其中小数都可以达到30位,但double类型的精度比float更高
decimal能支持的十进制数的总位数是65,其中小数都可以达到30位,但ddecimal类型的精度比float和double更高,
字符类型
char(4)定长
优点:存取都快
缺点:浪费空间
varchar(4)变长
缺点:存取都慢
优点:节省空间
日期类型
date:2017-03-01
time:11:11:11
datetime
year:2017
枚举与集合
enum('a','b','c'):多选一
set('a','b','c'):多选多
约束条件
not null
default
mysql中存在一种专门的数据结构,叫key,又称为索引,通过该数据结构可以减少io次数,从而加速查询效率
index key : 只有加速查询的效果,没有约束的功能
unique key:不仅有加速查询的效果,还附加了一种约束的功能
primary key:不仅有加速查询的效果,还附加了一种约束的功能,并且innodb存储引擎会按照主键字段的值
来组织表中所有的数据,所以一种inndob表中必须有、而且只能有一个主键,通常该表的id字段
unique
单从约束角度去看:唯一性约束
prmary key:
单从约束角度去看,primary key = not null unique
auto_increment:只能给被约束成key的字段加自增属性,默认起始位置是1,步长也为1
三 、表与表之间的关系
1:多对一(单向的多对一)
2:多对多(双向的多对一)
建立第3张表
3:一对一
左表中的一条记录唯一对应右表的一条记录