一、MySQL安装
下载地址 https://dev.mysql.com/downloads/mysql/
下载之后选择第一个免安装版解压即可<br />![image.png](https://cdn.nlark.com/yuque/0/2020/png/365532/1604321282685-e7f1ca43-37d8-40d5-83fa-347a775f2548.png#align=left&display=inline&height=414&margin=%5Bobject%20Object%5D&name=image.png&originHeight=828&originWidth=1222&size=127921&status=done&style=none&width=611)
添加配置文档 在安装目录新建一个my.ini文件,用记事本打开添加以下下内容并保存
![image.png](https://cdn.nlark.com/yuque/0/2020/png/365532/1604321530688-84f0507b-9342-47d9-ae46-ca85fdb4fbd1.png#align=left&display=inline&height=147&margin=%5Bobject%20Object%5D&name=image.png&originHeight=293&originWidth=760&size=25945&status=done&style=none&width=380)
添加环境变量
![image.png](https://cdn.nlark.com/yuque/0/2020/png/365532/1604321585108-ad3b90d8-7072-4337-9938-a2c6865850a1.png#align=left&display=inline&height=78&margin=%5Bobject%20Object%5D&name=image.png&originHeight=155&originWidth=614&size=12075&status=done&style=none&width=307)
二、使用
以管理员身份运行cmd
a. 方法一 使用win+r在运行行输入cmd回车之后输入命令 :runas /user:administrator “cmd /k”
b. 方法二在开始界面找到Windows系统—命令提示符 右击选择管理员是身份运行
初始化MySQL 注意记一下初始密码(password:~)
输入命令 : mysqld -initiallize
注册MySQL服务
输入命令: mysqld -install #默认名为MySQL 可以在后面起个名字
- 启动服务
net start MySQL
- 登录
mysql -h localhost -u root -p
- 修改一下初始密码便于几一
alter user ‘root’@’localhost’ idebtified with mysql_native_password by ‘密码’
三、数据库存储引擎
四、数据库常用命令
创建数据库
create database [数据库名]
显示所有数据库
show databases;
直接删除数据库
drop database [数据库名];
显示版本
select version();
服务器当前时间
select current_date;
选定数据库
use database [数据库名];
显示表
show tables;
五、数据类型
INT
- BEGINT
- CHAR -定长字符串
- VARCHAR -可变字符串
- FLOAT
- DOUBLE
- DECIMAL(M,D) - 字符串形式浮点数,整数部分M长度小数部分D长度
- DATE - YYYY-MM-DD 日期
- DATETIME - YYYYMMDD HHMMSS 日期时间
- BLOB
- TEXT
六、约束条件
四种完整性约束:域、实体、自定义、引用
- PRIMARY KEY 主键约束 唯一标识 实体完整性
- FOREIGN KEY 外键约束 关联另一张表主键 引用完整性
- NOT NULL 非空约束
- UNIQUE 唯一性约束
- AUTO_INCREMENT 自增
- DEFAULT 默认值
-
七、通配符
% 表示任意数量的任意字符
%qzw% 表示包含qzw
qzw%d 表示以qzw开头的任意字符
- _ 表示一个长度的字符
八、语法
创建表
drop table if exists [表名]; #若存在[表名]则删除
create table [表名](
字段一 数据类型 [字段属性][约束条件][索引][注释],
字段二 数据类型 [字段属性][约束条件][索引][注释],
...
字段n 数据类型 [字段属性][约束条件][索引][注释]
)[表类型][字符集][注释];
显示表信息
describe [表名];
desc [表];
删除表
drop table [表];
插入数据
- 字段名是可选的,如省略则依次插入所有字段
- 多个列表和多个值之间用使用逗号分隔
- 值列表和字段名列表一一对应
- 如插入的是表中的部分数据字段名列表必填
```c
插入单条
insert into [表] ([列]) values([值]);括号里面填写列的名字 后面values对应值 , 全部插入可以不用写([列]) 用逗号隔开
插入多条
inster into [表] ([列]) values([值]),([值]),([值]),([值])~~~;
<a name="PSWkO"></a>
## 像创建建的表中加入已经存在表的数据
```c
create table [表](
select [原字段] sa [新字段] from [原表]
);
修改表
修改名称
alter taba [表] rename to [新名字];
增加字段
alter table [表] add 字段名 数据类型;
修改字段
alter table [表] change 原字段 新字段 数据类型 属性;
删除字段
alter table [表] drop [字段];
修改某个字段可以为空
alter table [表] modify [字段]类型 null;
添加主键
主键唯一
alter table [表] add constraint [键名] primary key [表][要添加的主键字段];
修改表的存储引擎
alter table [表] engine=[引擎];
添加外键
alter table add constraint [外键名] foreign key (外键字段) references [关联表名] (关联字段);
更新/删除
更新
#更新
update [表]
set 字段1 = 值1,字段2 = 值2,字段3=值3.....
where [条件]
删除
delete from [表] while [条件];
#所有清空
delete from [表];
清空表
truncate table [表];
运算符
不等号通常使用<>
操作符
- like
- betweeb-and
is null
#关于between-and 在-之间
between 时间/日期a and 时间/日期b;
在区间[a,b]之间
#字符串为空与is null 不一样
#在允许为空的字段下条件要用is null
#不为空 is not null
select *from [表] where [字段] is null;
ORDER BY
按照单列或多列对结果集排序
- 按照升序或则降序对不同的结果集排序
ASC表示升序 DESC表示降序, 若没有指定排序方式默认ASC
简单的查询
select [列|表达式|函数|常量]
from [表]
where [条件]
order by [列] asc|desc;
as
as 从数据库出来列的别名
多表查询给表起别名
sekect [表] as [别名]
concat
字符串连接
- 不能使用+ 拼接
#字符1,3,中间拼接2
select concat(1,2,3) from [表];
常用聚合函数
```c示例
select avg([列]) as [名] from [列];
count 返回非空列的总数
INSTER()
- inster(s1,a,b,s2);
- 字符串替换函数
- 在s1中从a开始到b结束用s2替换 从1开始且包含a,b