安装过程不再赘述,8.0.40 版本的 installer 安装非常快捷
概述
启动
管理员模式启动命令行,输入
net start mysql80
启动 mysql 系统服务,输入net stop mysql80
停止服务使用 windows 服务页面,手动启动或停止 mysql 服务
客户端连接
- 使用Mysql 提供的客户端命令行工具
- 将 Mysql Server 文件夹导入环境变量,在 windows 命令行中使用
my sql -u root -p
进行连接
数据模型
使用DBMS创建,操作数据库,一个数据库中可以包含多张表,表是最终数据的载体
关系型数据库
关系型数据库(RDBMS),建立在关系模型基础上,由多张相互连接的二维表组成的数据库
SQL
SQL通用语法
- 单行或多行书写,分号结尾
- 使用空格或缩进增强可读性
- 不区分大小写,关键字建议使用大写
- 注释 :
- 单行注释:– 或者 //
- 多行注释:/* 和 */
SQL分类
- DDL 数据定义语言 用来定义数据库对象(索引)
- DML 数据操作语言 用来对数据进行增改删
- DQL 数据查询语言 用来查数据
- DCL 数据控制语言 用来创建数据库用户 控制数据库访问权限
DDL
数据库操作
查询
查询所有数据库
1 | SHOW DATABASE; |
查询当前数据库
1 | SELECT DATABASE(); |
创建
进入命令行的mysql服务,使用create
命令创建数据库
1 | CREATE DATABASE 数据库名; |
创建数据库基本语法为
1 | CREATE DATABASE [IF NOT EXISTS] database_name |
其中 CHARACTER SET
可以指定字符集,COLLATE
可以指定排序规则,如
1 | CREATE DATABASE mydatabase |
如果数据库已经存在,执行CREATE DATABASE
将导致错误,可以在CREATE DATABASE
语句中添加IF NOT EXISTS
子句:
1 | CREATE DATABASE IF NOT EXISTS mydatabase; |
删除
使用DROP
命令删除数据库:
1 | DROP DATABASE <database_name>; -- 直接删除数据库,不检查是否存在 |
选择
使用USE
选择要使用的数据库:
1 | USE database_name; |
表操作
查询
先通过 use 指令使用目标数据库
查询当前数据库中所有表
1 | SHOW TABLES |
查询表结构
1 | DESC 表名 |
查看指定表的建表语言(例如注释信息)
1 | SHOW CREATE TABLE 表名 |
创建
1 | CREATE TABLE 表名( |
括号内为可选项
建议在记事本等编辑器内编写好后粘贴,cmd 编程体验一言难尽
数据类型
- 数值类型
- TINYINT
- SAMLLINT
- MEDIUMINT
- INT
- BIGINT
- FLOAT
- DOUBLE
- DECIMAL
- 日期和时间类型
- DATE
- TIME
- YEAR
- DATETIME
- TIMESTAMP
- 字符串类型
- CHAR
- VARCHAR(变长字符串,类比string)
- TINYBLOB
- TINYTEXT
- BLOB
- TEXT
- MEDIUMBLOB
- MEDIUMTEXT
- LONGBLOB
- LONGTEXT
- 枚举类型
- ENUM
- SET
修改
添加字段
1 | ALTER TABLE 表名 ADD 字段名 类型(长度)[comment "注释"][约束]; |
案例,为 emp 表添加新字段“昵称”为 nickname,类型为varchar(20):
1 | ALTER TABLE emp ADD nickname VARCHAR(20) COMMENT "昵称"; |
修改字段:
修改数据类型
ALTER 表名 MODLFY 字段名 新数据类型(长度);
1
2
3
4
5
- 修改字段名和字段类型
- ```sql
ALTER TABLE 表名 CHANG 旧字段名 新字段名 类型(长度)[COMMENT "注释"][约束];
删除字段
1 | ALTER TABLE 表名 DROP 字段名; |
修改表名
1 | ALTER TABLE 表名 RENAME TO 新表名; |
删除
删除表
1 | DROP TABLE [IF EXISTS] 表名; |
删除指定表,并重新创建该表
1 | TRUNCATE TABLE 表名; |