数据库
什么是数据库
数据库(Database,简称DB)
概念:长期存放在计算机内,有组织、可共享的大量数据的集合,是一个数据“仓库”
作用:保存、管理数据
数据库总览
常见数据库模型:
1、关系型数据库(SQL)
MySQL、Oracle、SQL Server、SQLite、DB2
2、非关系型数据库(NOSQL)
文档存储数据库:MongoDB
键值存储数据库:Redis、Memcached
列存储数据库:HBase
图形数据库:Neo4J
DBMS
数据库管理系统(Database Management System)
数据管理软件,科学组织和存储数据、高效地获取和维护数据

MySQL简介
概念:是现流行的开源、免费的关系型数据库
特点:
1、免费、开源数据库
2、小巧、功能齐全
3、使用便捷
4、可运行于Windows或Linux操作系统
5、可适用于中小型甚至大型网站应用
MySQL的运行机制

SQLyog管理工具
可手动操作、管理MySQL数据库的软件工具
特点: 易用 、简洁 、图形化
连接数据库
打开MySQL命令窗口
在DOS命令行窗口(cmd.exe)
在窗口中进入 安装目录\mysql\bin
可设置环境变量
连接数据库语句
本机数据库:mysql -hlocalhost -uroot -p
mysql -h127.0.0.1 -uroot -p
远程数据库:mysql -h192.168.206.100 -uroot -p
结构化查询语句SQL
结构化查询语句分类

对数据库的操作
查看数据库:show databases;
创建数据库:create database 数据库名;
删除数据库:drop database 数据库名;
切换到某个数据库:use 数据库名;
对表的操作
查看表结构:describe 表名;/desc 表名;
查看建表语句:show create table 表名;
删除表:drop table if exists 表名;
创建数据库表

注:反引号用于区别MySQL保留字与普通字符而引入的
修改数据表
修改表(ALTER TABLE)
1、修改表名
ALTER TABLE 旧表名 RENAME AS 新表名
2、添加字段
ALTER TABLE 表名 ADD 字段名 列类型[属性]
3、修改字段
ALTER TABLE 表名 MODIFY 字段名 列类型[属性]
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列类型[属性]
4、删除字段
ALTER TABLE 表名 DROP 字段名
5、删除数据表
ALTER TABLE [IF EXISTS] 表名
注:IF EXISTS为可选, 判断是否存在该数据表
如删除不存在的数据表会抛出错误
数据值和列类型
列类型:规定数据库中该列存放的数据类型
分为 :
a)数值类型
b)字符串类型
c)日期和时间型数值类型
d)NULL值
列类型分类
1、数值类型

2、字符串类型

3、日期和时间型数值类型

注:
NULL值:
理解为“没有值”或“未知值”
不要用NULL进行算术运算,结果仍为NULL
选择数据类型:
整数和浮点
日期类型
char和varchar
数据字段属性
数据字段属性
1、UNSIGNED
无符号的
声明该数据列不允许负数
2、ZEROFILL
0填充的
不足位数的用0来填充,如 int(3),5则为 005
3、AUTO_INCREMENT
自动增长的,每添加一条数据,自动在上一个记录数上加1
通常用于设置主键,且为整数类型
可定义起始值和步长
4、NULL 和 NOT NULL
默认为NULL,即没有插入该列的数值
如果设置为NOT NULL,则该列必须有值
5、DEFAULT
默认的
用于设置默认值
例如,性别字段,默认为“男”,否则为“女”;若无指定该列的值,则默认为“男”的值
数据字段注释
表列类型注释:COMMENT关键字

数据表的类型
1、表列类型设置:ENGINE关键字
示例:

2、MySQL的数据表的类型:
MyISAM、InnoDB、HEAP、BOB、CSV等
3、常见的的MyISAM与InnoDB类型

注:
1、使用MyISAM:节约空间及相应速度
2、使用InnoDB:安全性,事务处理及多用户操作数据表
设置数据表字符集
表列类型设置:

1、可为数据库、数据表、数据列设定不同的字符集
2、设定方法:
a)创建时通过命令来设置,如

b)如无设定,则根据MySQL数据库配置文件my.ini
(Windows系统)中的参数设定
如:character-set-sever = utf8
数据表的存储位置
MySQL数据表以文件方式存放在磁盘中
a)包括表文件、数据文件以及数据库的选项文件
b)位置:MySQL安装目录\data下存放数据表。目录名对应数据库名,该目录下文件名对应数据表

注:
1、InnoDB类型数据表只有一个*.frm文件,数据文件为上一级目录的 ibdata1 文件
2、MyISAM类型数据表对应三个文件:
*.frm -- 表结构定义文件
*.MYD -- 数据文件
*.MYI -- 索引文件