一、数据库
1.关系型数据库与非关系型数据库:
关系型数据库底层是以二维表形式保存数据的库。常见有:Orcale、MySQL、SQLSever
非关系型数据库严格上不是一种数据库,而是一种数据结构化存储方法的集合,可以是文档,键值对或图形等,如MongoDB、Redis、Solr
扩展内容:常见的关系型数据库有哪些?(了解)
MySQL: Oracle公司产品, MySQL在08年被Sun公司收购,09年Sun被Oracle收购, 开源产品 , 为了担心MySQL闭源 MySQL创始人离开Oracle创办了MariaDB, 市占率第一
Oracle: Oracle公司产品, 闭源产品, 性能最高 价格最贵, 市占率第二
SQLServer: 微软公司产品, 闭源产品,市占率第三
网站整套解决方案: 编程语言+web服务软件+操作系统+数据库软件
DB2: IBM公司产品,主要应用在IBM整套解决方案中 主要服务于对安全性要求极高的场景 比如:银行
SQLite: 轻量级数据, 安装包只有几十k
2、SQL语言:
DDL:Data Definition Language,数据定义语言,包括数据库和表相关的SQL语言
DML:Data Manipulation Language,数据操作语言,包括数据的增删改相关的SQL语言。
DQL:Data Query Language,数据查询语言,只包括查询。
DCL:Data Control Language,数据控制语言,包括权限分配相关的SQL语言。
TCL:Task Control Language,事物控制语言,包括事务相关的SQL语言。
3、SQL语言书写规范:
1、以分号结尾;
2、对大小写不敏感。
3、在自定义名称时,不要使用驼峰命名法,而使用下划线连接。
4、可以有多个换行或者空格。
4、数据类型:
1、整型:
从小到大 :tinyint 1、smallint 2、int 4 、bigint 8
2、浮点型:
float 4、double 8 在数据库中是近似值
double(总个数,小数位) 如:double(5,2) 可以是123.45
3、定点型:
decimal 在数据库中是精确值
4、字符串类型:
char(n):定长字符串,最长255。剩余空间会用空格填充,浪费
varchar(n):变长字符串,不超过65535,一般超过255会用text类型。
text:最长65536,一般超过255用text。
问:char、varchar、text区别:
(1)char(n)在保存数据时,如果存入的字符串长度小于指定的长度n,后面会用空格补全,因此可能会造成空间浪费,但是char类型的存储速度较varchar和text快。因此char类型适合存储长度固定的数据,这样就不会有空间浪费,存储效率比后两者还快!
(2)varchar(n)保存数据时,按数据的真实长度存储,剩余的空间可以留给别的数据用,因此varchar不会浪费空间。因此varchar适合存储长度不固定的数据,这样不会有空间的浪费。
(3)text是大文本类型,一般文本长度超过255个字符,就会使用text类型存储。
5、日期类型:
data 年月日;time 时分秒; datetime 年月日时分秒 ;timestamp时间戳
二、数据定义语言Data Definition Language
1、数据库操作:
查询所有数据库:show databases ;
创建默认字符集数据库:create database 数据库 ;
创建指定字符集数据库:create database 数据库 character set 编码集 ;
查询数据库详情:show create database 数据库名 ;
删除数据库:drop database 数据库名 ;
使用数据库:use 数据库名 ;
2、表操作:
查询所有表:show tables ;
创建表:create table 表名(字段名 类型, ……) ;
修改表名:rename table 旧名 to 新名 ;
查看表详情:show