第一章:数据库的设计
1.第一范式:
第一范式的目标是确保每列的原子性,如果每列(或者每个属性值)都是不可再分的最小数据单元(也成为最小的原子单元),则满足第一范式
2.第二范式:
第二范式其目标是确保表中的每列都和主键相关,并且除了主键以外的其他列都全部依赖于该主键
3.第三范式:
第三范式的目标是确保每列都和主键列直接相关,而不是间接相关,并且除了主键以外的其他列都只能依赖于主键列,列与列之间不能存在相互依赖关系
第二章:初始MySQL
1.端口设置(默认启用TCP/IP网络,默认端口为3306)
2.默认字符集设置(默认值为utf8)
3.MySQL文件夹
* bin文件夹:该文件夹下存放着可执行文件
* include文件夹:该文件夹下存放着头文件
* lib文件夹:该文件夹下存放着库文件
* share文件夹:该文件夹下存放着字符集,语言等信息
4.修改MySQL配置文件来手动配置数据库服务器MySQL时,常用参数:
* default - character - set:客户端默认字符集
* character - set - setver:服务器端默认字符集
* port:客户端和服务器端的端口号
* delault - storage - engine:MySQL默认存储引擎
5.开服务:(net start mysql)
6.关服务:(net stop mysql)
7.命令行方式连接数据库
语法:
mysql -h 服务器主机地址 -u 用户名 -p 密码 (如果是本机可省略 -h)
8.操作数据库
1.创建数据库
语法:
create database 数据库名;
2.查看数据库列表
语法:
show databases;
3.选择数据库
语法:
use 数据库名;
4.删除数据库
语法:
drop database 数据库名;
5.创建表
语法:
create table if not exists 表名(
字段1 数据类型 字段属性 约束 索引 注释,
...
)表类型 表字符集 注释;
6.单字段主键
语法:
create table if not exists 表名(
字段1 数据类型 primary key,
...
);
7.查看表
语法:
show tables;
8.查看表的定义
语法:
describe 表名;
或
desc 表名;
9.删除表
语法:
drop table if exists 表名;
9.如果需要以0填充不足的位置,需要在类型后添加zerofill关键字
10.各数据类型都包含有符号数和无符号数两类,默认为有符号数,既可以保持负数,如该字段为非负数,则需添加unsigned属性
11.数据类型
常用数值类型
数据类型 字节数
tinyint[(m)] 1
smallint[(m)] 2
mediumint[(m)] 3
int[(m)] 4
float[(m,d)] 4
double[(m,d)] 8
decimal[m([,d])] m+2
bit bit称为位数据类型,其数据有两种取值:0和1 长度为1位,用来表示真假,是否
12.字符串类型
字符串类型
数据类型 字节 说明
char[(m)] m 固定长字符串,M为0-255的整数
varchar[(m)] 可变长度 可变长度,M为0-65535的整数
tinytext 0-255 微型文本串
text 0-65535 文本串
decimal(m,d) 该类型一般用于金额方面,m表示要显示的长度,d表示保留的小数位数
13.日期类型
日期类型
数据类型 格式
date yyyy-mm-dd
datetime yy-mm-dd hh:mm:ss:
time hh:mm:ss:
timestamp yyyymmddhhmmss
year yyyy
14.字段的约束及属性