链接数据库
- 添加环境变量
- cmd —> mysqld 开启服务端
- cmd —> mysql 开启客户端
用户管理
- 添加用户
- creater user “用户名”@”用户IP” identified by “密码”;
- 添加权限
- grant select, drop, update,… on “表名” to “用户名”@”用户IP”;
- 删除用户
数据库操作
- 创建数据库:create database 数据库名;
- default charset=utf8 避免中文乱码
- 查看数据库:show databases;
- 删除数据库:drop database 数据库名;
数据表操作
查询
- 查看当前数据库下的所有数据表:show tables;
- 查看数据表结构 DESCRIBE table;
插入
- 创建表
- create tabel 表名(字段1 条件1,字段2 条件2,) ;
- default charset=utf8 中文不乱码
- engine=innodb 保证数据原子性,宕机可回滚,不出现数据紊乱
- primary key 主键:是唯一的
- auto_increament 自增: 一般搭配主键使用
- not null 规定该字段不能为空
- 常用数据类型
| 字符型 | 整数 | 浮点型 | 时间型 |
| :—- | :—- | :—- | :—- |
| char(位数) 定长字符串 | tinyint 1bytes | number 全精度 | date 日期 YYYY-MM-DD |
| varchar 不定长字符串 | int 4bytes | float 单精度 | datetime 日期+时间 YYYY-MM-DD HH-MM-SS |
| text 大文本 | bigint 8bytes | double 双精度 | time 时间 HH-MM-SS |
| 枚举型 enum(value1,value2…) | | | timestamp 时间戳 YYYYMMDD HHMMSS |
- char和varchar的区别
- char()
- 固定位数,如果确定位数为10,但是数据为两位,但是空间占用还是10位。
- 虽然占用内存大,但是读取速度更快
- varchar
- tips:
- 建议将定长列放于不定长列前面,这样查询速度快一些。
- 对于视频,图片等媒体文件,建议使用url存储
- 如果需要非常精准的浮点型数值建议使用number,因为number是全精度数值
- 插入数据
- insert into 表名(字段1,字段2,) values(值1,值2,);
- 如下,因为id是自增的所以,没有插入id值,id默认从1开始自增
查询
- 查看所有数据:select * from 表名 ;
- 查看部分数据:select 字段1,字段2 from 表名;
修改
- 修改所有 update 表名 set 字段1=值1,字段2=值2;
- 条件修改 update 表名 set 字段1=值1,字段2=值2 where 字段=条件;