Mysql 上篇
一、简介
Mysql是一个关系性数据库管理系统(DBMS),其最大的特点是开源的,免费的。
二、命令行连接数据库
从cmd进入mysql界面:
mysql -uroot -p123456 ---连接数据库
update mysql.user set authentication_string=password('123456') where user='root' and Host='localhost'; -----修改用户密码
flush privileges; --刷新权限
show databases; ---查看所有的数据库
use school; --切换数据库 use 数据名
show tables; --查看数据中所有的表
describe student; --显示数据表中所有的表信息
create databases westos; -- 创建一个数据库 create databases 数据库名
exit; --退出连接
-- 单行注释 (sql本身的注释)
/* */ --多行注释
注意:所有的结束语句后面都使用英文 ; 结尾
三、常见的数据语言
DDL :数据库定义语言
DML:数据库操作语言
DQL:数据查询语言
DCL:数据控制语言
四、操作数据库语句
流程:操作数据库-------操作数据库中的表-----操作数据库中的表数据
mysql语句不分大小写
1、创建数据库
创建数据库westos
CREATE DATABASE IF NOT EXISTS westos; --如果数据库不存在就创建
2、删除数据库
删除数据库
DROP DATABASE IF EXISTS westos; --如果数据库存在,就删除
3、使用数据库
--· · tab键的上面一个键 ,如果表名或者字段名是一个特殊字符,就需要带· ·
USE `westos`; --使用数据库
4、查看数据库(全部数据)
SHOW DATABASES; --查看全部数据库
SHOW CREATE DATABASE westos; --查看创建westos数据库的语句
SHOW CREATE TABLE student; --查看student数据表的定义语句
DESC student; --查看student数据表的结构
五、数据库的列类型
1、数值
tinyint :十分小的数据,占1个字节
smallint : 较小的数据 ,占2个字节
mediumint : 中等大小的数据 ,占3个字节
int : 标准的整数 ,占4个字节(常用)
bigint :较大的数据 ,占8个字节
float :浮点型 , 占4个字节
double : 浮点型, 占8个字节
decimal : 字符串形式的浮点型, 遇到金融计算的时候,一般使用decimal
2、字符串
char : 字符串 ,长度是固定大小的, 范围:0~255
varchar :可变长字符串 ,范围:0~65535 (常用)
tinytext :微型文本, 范围:2^8-1
text : 文本串, 范围:2^16-1
3、时间日期
data : YYY-MM--DD, 日期格式
time : HH:mm:ss 时间格式
datetime : YYYY-MM-DD HH:mm:ss 最常用的时间格式(常用)
timestamp :时间戳 (较为常用)
year :年份表示
4、null
没有值,未知
注意:不要使用null进行运算 ,如果进行运算了,结果也为null
六、数据库的字段属性
1、Unsigned:
无符号的整数
声明了该列不能声明为负数
2、zerofill:
0填充的
不足的位数,会使用0来填充
3、自增:
通常立即为自增,自动在上一条记录的基础上+1(默认)
通常用来设计唯一的主键,必须是整数类型
可以自定义设计主键自增的起始值和步长
4、非空 :null 、not null
假设设置为not null,如果不进行赋值,就会报错
如果不填写,就默认就是null
5、默认值:
设置为默认的值,如果不指定该列的值,则会有默认的值
七、数据库的引擎
1、主要使用InnoDB 和MyISAM引擎
2、InnoDB :数据库默认使用 , MyISAM:之前使用的
3、区别:
常规使用操作:
MYISAM : 节约空间,速度较快
INNODB : 安全性高,事务的处理,多表多用户操作
在物理空间文件上的区别:
INNODB :在数据库表中只有一个*frm文件,以及上级目录下的ibdata1文件
MYISAM:对应的文件
*.frm --表结构的定义文件
*.MYD --数据文件(data)
*.MYI --索引文件(index)
MYISAM | INNODB | |
事务支持 | 不支持 | 支持 |
数据行锁定 | 不支持 | 支持 |
外键约束 | 不支持 | 支持 |
全文索引 | 支持 | 不支持 |
表空间的大小 | 较小 |
较大,约为MYISAM的两倍 |
(
mysql在物理空间存在的位置
所有的数据库文件都存在data目录下,一个文件夹就对应一个数据库
本质还是文件的存储
)