MySQL
到官网进行安装。点击MySQL Installer for Windows下载安装包后一直next即可。
mysql开机默认启动。
在win+R运行services.msc,找到mysql右键操作。
在cmd中运行net start mysql80、net stop mysql80进行启动与停止。
方式一:直接使用mysql提供的命令行进行连接。开始找到MySQL Command Line Client-Unicode,进去输入密码操作。
方式二:先配置PATH环境变量C:\Program Files\MySQL\MySQL Server 8.0\bin。在任意cmd输入mysql -u root -p,输入密码操作。
关系型数据库RDBMS,建立在关系模型基础上,由多张相互连接的二维表组成的数据库。格式统一,便于维护,使用SQL语言操作,使用方便。数据模型是数据库,可以创建多个表。
(1) SQL通用语法
(2) SQL分类
(3) DDL
查询数据库
1 | show databases; |
如果创建了同样名称的数据库会报错。一般使用以下指令创建。
1 | create database if not exists; |
在创建数据库的时候可以指定字符集。utf8只占有三个字节,而某些数据会占据四个字节,因此一般设置为utf8mb4
1 | create database if not exists default charset utf8mb4; |
删除数据库 删除不存在的数据库同样会报错,因此使用以下指令进行删除
1 | DROP database IF EXISTS databaseName; |
数据库使用
1 | USE databaseName; |
表创建
- 数据类型quality
1)数值类型
定义float和double类型时,需要两个参数。如score double(4, 1)代表4个长度,最多1位小数。
定义无符号时应该是 age TINYINT UNSIGNED;,unsigned放在数据类型后面。
2) 字符串类型
sql中字符串为varchar(size),size是字符串的长度。一旦超出size会报错。varchar会动态占用内存,而char不管多大都必定占用size内存。但是char性能更高。
例如用户名适合用varchar,性别适合用char。
3) 日期类型
birthday date;
注意最后一个字段没有逗号。
1 | CREATE TABLE tableName( |
查询当前数据库所有表,需要先用use指令进入数据库。
1 | SHOW TABLES; |
查询表结构
1 | DESC databaseName; |
查询指定表的建表语句,用于展示详细注释
1 | SHOW CREATE TABLE databaseName; |
- 案例
表修改
1)添加字段
1 | ALTER TABLE tableName ADD fieldName quality COMMENT “注释” 约束; |
2) 修改数据类型
1 | ALTER TABLE tableName MDOIFY fieldName newQuality(size); |
3) 修改字段名和字段类型
1 | ALTER TABLE tableName CHANGE oldTableName newTableName quality(size) COMMENT "注释" 约束; |
4) 删除字段
1 | ALTER TABLE tableName DROP filedName; |
5) 修改表名
1 | ALTER TABLE tableName RENAME TO newTableName; |
6) 删除表
1 | DROP TABLE IF EXISTS tableName; |
7) 删除指定表,并重新创建空的表结构
1 | TRUNCATE TABLE tableName; |
- 图形化工具DataGrip
进入后点击左上角加号,新增mysql Data Sources ,配置文件。user填root,密码随便设置,确认后下载驱动文件。
1) 创建数据库
右键 new 选择schema,填写名字。
2)新建表
右键数据库 创建表,填写名字和注释信息。在colums中创建字段。点击execute。
3)修改表
右键数据库 modify table
4)使用sql语句操作
右键 new quary console
(4)DML 增删改操作
如果没有where条件,会修改所有数据。
(5)DQL 查操作 关键字:SELECT
1)基础查询
查询可以起别名。SELECT … as ‘ ,,, ‘ from …;其中as可以省略。
查询如果不要重复,可以在select后加distinct关键字。
- 聚合函数
count不会统计null,最好采用count(*)
2) 分组查询
3) 排序查询
如果是多字段排序,字段一 一样时才会用第二种排序
4) 分页查询
- 编写顺序与执行顺序
(6)DCL 管理数据库用户、控制数据库访问权限
1) 用户
2) 权限
主机名可以用’%’通配,表名用’*’通配。
- 函数 mysql内置了函数。select 函数名();
(1)字符串函数
(2)数值函数
(3)日期函数
type填写YEAR、MONTH、DAY
(4)流程函数
- 约束 保证数据的正确性和完整性
尽管没有插入成功,数据也会向mysql申请主键。
在可视化创建数据的时候可以直接勾选。
- 外键关联 表之间的联系
事务 要么全部成功,要么全部失败
方式一
方式二
- 事务的四大特性
- 并发事务问题
解决方法:事务的隔离级别