数据库是以文件形式存储的:可插式存储引擎,内存/索引和存储管理
数据库分为两种:
1. 关系型数据库:
a) MySQL Oracle SqlServer
2. 内存数据库:
a) Mencache redis
mySQL是一个关系型数据库管理系统,由瑞典mySQL AB公司开发,目前属于Oracle旗下产品,mySQL的默认端口号为3306,默认的字符集utf8
数据库的几个概念:
数据库(database) 数据表(table)字段 column(字段类型) 列column 行row
SQL(Structured QueryLanguage) 结构化查询语言:
SQL语句的书写规则
1. 分号结尾;可以用delimiter修改
2. 关键字不区分大小写;
select * from tablename;
SELECT * FROM tablename;
3. 注释,SQL是一门语言所以也有注释
单行注释: #注释 -- 注释
注:在使用 -- 作为注释时,-- 后面接的注释语句之间一定要加个空格不然会抛异常
多行注释: /*注释*/
4. 数据类型:
数值类型
1. 整数型
tinyint:存储范围
i. 有符号:-27到27-1
ii. 无符号:0到28-1
smallint:存储范围
i. 有符号:-215到215-1
ii. 无符号:0到216-1
mediumint:存储范围
i. 有符号:-223到223-1
ii. 无符号:0到224-1
int:存储范围
i. 有符号:-231到231-1
ii. 无符号:0到232-1
bigint:存储范围
i. 有符号:-263到263-1
ii. 无符号:0到264-1
2.小数型
1. 浮点
Float[(M,D)]范围:
i. -3.402823466E+38到-1.175494351E-38
ii. 0和1.175494351E-38到3.402823466E+38
Double[(M,D)]范围:
i. -17976931348623157E+308到-2.22507385854072014E-308,0
ii. 2.22507385854072014E-308到1.797693134862157E+308
注: M是数字总位数,D是小数点后面的位数.如果M和D被省略,根据硬件允许的限制来保存值.单精度浮点数精确度大约为7为小数
2. 定点 :decimal(m,d)
decimal(4,2)最大为99.99, 4是数值的长度,2是小数的长度
字符串类型:
set: 1,2,3,4或者8个字节,取决于set成员的数目(最多64个成员)
enum: 1或2个字节,取决于枚举值的个数(最多65535个值)
longtext(极大文本数据): 0-4294967295(232-1)个字节
mediumtext(中等长度文本数据): 0-16777215(224-1)个字节
text(长文本字节): 0-65535(216-1)个字节
tinytext(短文本字节):0-255(28-1)字节
varchar(变长字符串):0-65535字节
char(定长字符串):0-255字节
char(length):定长,存储数据不够时用空格补,补在字符串后面,多了会截掉,优点存取速度快,缺点是因为是定长如果存的数据与指定的长度不够,系统自动用空字符补齐,单存储的数据量太多时,太浪费内存空间.
varchar:可变长度根据字符长度自动的调整
length:返回字符串所占的字节数,是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符.
char_length:返回字符串所占的字符数,不管汉字还是数字或者是字母都算是一个字符
c) 时间日期类型
year
timestamp
time
date
datetime
5. 字段名的修饰关键字:
unsigncd 无符号
auto_increment 自增
default 默认值
comment 字段解释说明
not null 非空
unique 唯一索引
index 普通索引
primary key 主键 唯一的
auto_increment 必须指定为primarykey
SQL语句分类:
DDL(data defination language)数据定义语言.
作用:创建 删除 修改 库表结构
查看数据库的个数: show databases;
使用数据库:use 数据库名
创建数据库命令:create database 名字;
删除数据库:drop database 数据库名;
数据库表的相关操作:
创建前要选择数据库否则会报错
创建数据表结构
createtable 表名(
列名 列类型 其他的关键词,
……
);
查看当前数据库的表: Show tables;
查看表结构: desc表名;
查看创建表的sql语句: show create table 表名;
删除表 : drop table 表名
DML(data manipulation language)数据操作语言.
作用: 增 删 改表的记录
DCL(data control language)数据控制语言
作用: 用户的创建以及授权
DQL(data query language)数据库查询语言
作用:查询数据
启动数据库:net start mysql
关闭数据库:net stop mysql
登入数据库:路径 mysql –uroot –p 密码