笔记
MySQL优点:
1、MySQL是开源的数据库
2、MySQL跨平台,可在Windows、Linux、UNIX和MAC中运行
3、价格优势:免费,可官网直接下载
4、功能强大且使用方便
总结:快速、健壮、已用
数据库的类型
关系型数据库–RDBMS
非关系型数据库–NoSQL
MySQL安装:
注意点:
1、选择社区版MySQL Community Sever,选择DOWNLOAD,
2、MySQL默认端口:3306
3、Windows Service Name:MySQL57(可修改,不推荐中文)
4、配置环境变量:在Path中新建默认下载地址下到bin文件路径,如:C:\Program Files\MySQL\MySQL Server 5.7\bin
MySQL登录
1、命令:mysql -h loacalhost -P 3306 -u root -p(回车)
2、格式:mysql -h 主机地址 -P 3306(默认端口) -u 用户名 -p(用户密码)
MySQL退出
1、命令: exit (回车)。
数据库的数据类型
1、数值类型:整数类型、浮点数类型、定点数类型、位类型
整数类型 | 字节 | 最小值 | 最大值 |
---|---|---|---|
TINYINT | 1 | 有符号 -128 无符号 0 | 有符号 127 无符号255 |
SMALLINT | 2 | 有符号 -32768 无符号 0 | 有符号 32767 无符号65535 |
MEDIUMINT | 3 | 有符号 -8388608 无符号 0 | 有符号 8388607 无符号1677215 |
INT/INTEGER | 4 | 有符号 -2147483648 无符号 0 | 有符号 2147483647 无符号4294967295 |
BIGINT | 8 | 有符号 -9223372036854775808 无符号 0 | 有符号 9223372036854775807 无符号 18446744073709551615 |
浮点数类型 | 字节 | 最小值 | 最大值 |
---|---|---|---|
FLOAT | 4 | ±1.175494351E–38 | ±1.175494351E+38 |
DOUBLE | 8 | ±2.2250738585072014E–308 | ±2.2250738585072014E+308 |
定点数类型 | 字节 | 描述 |
---|---|---|
DEC(M,D),DECIMAL(M,D) | M+2 | 最大取值范围与DOUBLE相同,给定DECIMAL的有效取值,范围由M和D决定 |
位类型 | 字节 | 最小值 | 最大值 |
---|---|---|---|
BIT(M) | 1~8 | BIT(1) | BIT(64) |
2、日期类型
日期类型 | 字节 | 最小值 | 最大值 |
---|---|---|---|
DATE | 4 | 1000-01-01 | 9999-12-31 |
DATETIME | 8 | 1000-01-01 00:00:00 | 9999-12-31 23:59:59 |
TIMESTAMP | 4 | 19700101080001 | 2038年的某个时刻 |
TIME | 3 | -838:59:59 | 838:59:59 |
YEAR | 1 | 1901 | 2155 |
3、常用字符串类型
字符串类型 | 字节 | 描述及存储需求 |
---|---|---|
CHAR(M) | M | M为0~255之间的数 |
VARCHAR(M) | M为0~65535之间的整数,值的长度+1个字节 | |
TEXT | 允许长度0~65535字节,值得长度+2个字节 | |
TINYTEXT | 允许长度0~255字节,值得长度+2个字节 | |
MEDIUMTEXT | 允许长度0~167772150字节,值得长度+3个字节 | |
LONGTEXT | 允许长度0~4294967295字节,值得长度+4个字节 |
MySQL中的约束
6大约束:
关键字 | 解释 |
---|---|
NOT NULL | 约束字段的值不能为空 |
DEFAULT | 设置字段的默认值 |
UNIQUE KEY(UK) | 约束字段的值是唯一 |
PRIMARY KEY(PK) | 约束字段为表的主键,可以作为该表记录的唯一标识 |
AUTO_INCREMENT | 约束字段的值为自动增长 |
FOREIGN KEY(FK) | 约束字段为表的外键 |
详解:
非空:在我们新增数据的时候,这个字段必须新增的同时有值;
默认:在没有给定值的时候,数据库默认的值
唯一:唯一是指一个字段中所有的值
主键:通过主键一定能找到唯一的一条记录(主键包含非空且唯一两种约束)
自动增长:逐渐数字自动递增1;自动增长约束必须是主键而且数据类型是int;自动增长的数字不会回退
外键增长:子表的取值范围受父表约束;先建父表,再建子表;先删子表,再删父表;父表与子表是相对的,皆可以是父表,也可以是字表,或者父表和子表均是
创建数据库
create database if no exists 数据库名 charset=utf8;
if no exists:判断该表是否存在
charset=utf8:创建时指定字符集,其默认字符集为Latin
查看数据库
show databases
删除数据库
drop database 数据库名
*数据库新建完成后,要告诉数据库正在对哪个数据库进行操作*
use 库名
建表
create table t_name(
属性名 数据类型 [约束],
属性名 数据类型 [约束],
…
属性名 数据类型 [约束]
)default charset=utf8;
外键约束
constraint fk_1 foreign key(子表属性名) references 父表名(对应的父表属性名)
查看数据表
show tables;
查看数据表结构
desc table_name;
删除数据表
drop table_name;