
数据库基础
数据库概述
数据管理技术
-
人工管理阶段
-
文件系统阶段
-
数据库系统阶段
术语
-
数据(Date)
- 图像、语音、文字
-
数据库(Datebase)
- Access、MSSQL、Oracle、SQLITE、MySQL等
-
数据库管理系统(DBMS)
- Access、MSSQL、Oracle、SQLITE、MySQL等
-
结构化查询语言(SQL)
-
关系型数据库
-
MySQL
- 开源、免费
-
SQL Sever
-
付费、商业
-
平台:Windows、Linux
-
具有使用方便可伸缩性好、更安全可靠的存储功能与相关软件集成程度高等优点
-
-
Oracle
- 付费、商业
-
Access
-
-
非关系型数据库NoSQL
-
数据库安装
端口
- 3306
连接命令
- mysql -u 用户名 -p 密码 -h host
数据库连接工具
- Navicat
数据库构成
表(abe)
- 在一个数据库中的表看起来像一个简单的电子表格。名字是唯一的
列( column)
- 表中的一个字段。所有表都是由一个或多个列组成的。
行(row)
- 表中的一个记录
值(value)
- 行的具体信息, 每个值必须与该列的数据类型相同;
主键(primary key)
- 一列(或一组列),其值能过唯一区分表中的每个行(主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。)
数据库操作
列出数据库
- show databases;
创建数据库
- create datebase 库名;
删除数据库
- drop database 库名;
使用数据库
-
use 数据库名;
- 出现datebase changed就是使用成功
数据类型
整数类型
-
TINYINT
- 一般用于枚举数据,比如系统设定取值范围很小且固定的场景。
-
SMALLINT
- 可以用于较小范围的统计数据,比如统计工厂的固定资产库存数量等。
-
MEDIUMINT
- 用于较大整数的计算,比如车站每日的客流量等。
-
INT(INTEGER)
- 取值范围足够大,一般情况下不用考虑超限问题,用得最多。比如商品编号。
-
BIGINT
- 只有当你处理特别巨大的整数时才会用到。比如双十一的交易量、大型门户网站点击量、证券公司衍生产品持仓等
浮点类型
-
FLOAT
-
DOUBLE
-
DECIMAL
日期与时间类型
-
类型
-
范围
-
格式
- 用途
-
-
-
DATE
-
1000-01-01/9999-12-31
-
YYYY-MM-DD
- 日期值
-
-
-
TIME
-
'-838:59:59'/'838:59:59'
-
HH:MM:SS
- 时间值或持续时间
-
-
-
YEAR
-
1901/2155
-
YYYY
- 年份值
-
-
-
DATETIME
-
1000-01-01 00:00:00/9999-12-31 23:59:59
-
YYYY-MM-DD HH:MM:SS
- 混合日期和时间值
-
-
-
TIMESTAMP
-
1970/1/1 0:00:00、2038结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07
-
YYYYMMDD HHMMSS
- 混合日期和时间值,时间戳
-
-
字符串类型
-
CHAR
- 定长字符串
-
VARCHAR
-
变长字符串
- (参数)必填,必须指定长度
-
-
TINYBLOB
- 不超过 255 个字符的二进制字符串
-
TINYTEXT
- 短文本字符串
-
BLOB
- 二进制形式的长文本数据
-
TEXT
- 长文本数据
-
MEDIUMBLOB
- 二进制形式的中等长度文本数据
-
MEDIUMTEXT
- 中等长度文本数据
-
LONGBLOB
- 二进制形式的极大文本数据
-
LONGTEXT
- 极大文本数据
枚举类型
- ENUM
集合类型
- SET
二进制字符串类型
-
BINARY
-
VARBINARY
-
TINYBLOB
-
BLOB
-
MEDIUMBLOB
-
LONGBLOB
JSON类型
-
JSON对象
-
JSON数组
空间数据类型
-
单值类型
-
GEOMETRY
-
POINT
-
LINESTRING
-
POLYGON
-
-
集合类型
-
MULTIPOINT
-
MULTILINESTRING
-
MULTIPOLYGON
-
GEOMETRYCOLLECTION
-
数据表操作
创建数据表
-
CREATE TABLE 表名
(属性名 数据类型 完整性约束条件,
属性名 数据类型 完整性约束条件,
属性名 数据类型
);-
约束条件
-
PRIMARY KEY
- 标识该属性为该表的主键
-
FOREIGN KEY
- 标识该属性为该表的外键
-
NOT NULL
- 标识该属性不能为空
-
UNIQUE
- 标识该属性的值是唯一的
-
AUTO_INCREMENT
- 标识该属性的值自动增加
-
DEFAULT
- 为该属性设置默认值
-
-
删除数据表
- DROP TABLE table_name ;
插入语句
- insert into table_name(field1, field2,...fieldN)
Values
(value1, value2,...valueN);
修改表名
- Alter table 旧表名 rename 新表名;
修改字段的数据类型
- Alter table 表名 modify 属性名 数据类型;
修改字段名
- Alter table 表名 change 旧属性名 新属性名 新数据类型;
增加字段
-
Alter table 表名 add 属性名 数据类型 [完整性约束条件];
-
alter table 表名 add foreign key (user_id) references 主表表名 (字段名)
删除字段
- Alter table 表名 drop 属性名 ;
Comments NOTHING