MySql(Win版)下载地址:MySQL :: Download MySQL Installer
以下教程将默认使用Windows MySQL8.0版本
启动MySQL服务
MySql启动命令:
net start mysql80

MySQL停止命令:
net stop mysql80

登录MySQL
首先需要进入MySQL所在的bin目录下,一般默认安装的路径在:
C:\Program Files\MySQL\MySQL Server 8.0\bin
使用cd命令进入MySQL所在的bin目录下:
cd C:\Program Files\MySQL\MySQL Server 8.0\bin

MySQL连接命令:
mysql -u 用户名 -p
其中参数 -u 代表要登录的用户名;
-p 代表登录密码,这里只需要在 -u 后面带上用户名即可
mysql -u root -p
注释:使用root管理员账号登录MySQL
输入登录命令后输入安装MySQL时设置的密码即可完成登录。

登录后的界面是这样子的说明你成功登录进入了MySQL:

MySQL登录可选参数
参数 | 说明 | 例子 |
-h | MySQL服务器IP | 127.0.0.1/Iocalhost |
-P | MySQL端口号 | 默认为3306 |
-u | MySQL用户名 | 全局管理员账号为root |
-p | MySQL密码 | 安装MySQL服务端时设置 |
MySQL操作数据库
注意:MySQL语句结尾需要用” ; “号作为结束符
查看所有数据库
注释:首次登录可以使用 show databases
; 命令查询MySQL内的所有数据库,以便更好的管理。
show databases;

添加数据库
语法:
CREATE DATABASE `数据库名`
创建 数据库
例子:
create database `user_data`;
说明:创建一个名为user_data的数据库

注释:返回Query OK, 1 row affected (0.00 sec)
即代表已经成功创建了一个数据库,再次查询一下即可看到创建的数据库了。

删除数据库
语法:
drop database `数据库名`
例子:
drop database `user_data`;
说明:删除一个名为user_data的数据库

注释:删除成功后返回Query OK, 0 rows affected (0.01 sec)
,此时再次查询,已经没有”user_data“这张表了。
选择操作数据库
语法:
use `数据库名`
例子:
use `user_data`;

输出Database changed
即代表已经选中该数据库
创建表
语法:
create table `表名`(字段名 数据类型 其它可选参数)
创建 表
常用数据类型:
整数型:
数据类型 | 取值范围 |
tinyint | 0—255 |
smallint | -32768 — 32768 |
int | -214783648 — 214783647 |
小数型:
数据类型 | 取值范围 |
decimal | decimal(数据长度,保留小数位) |
指定字符长度类型:
数据类型 | 取值范围 |
char | char(字符长度) |
变化字符串类型:
数据类型 | 取值范围 |
varchar | varchar(字符串长度) |
日期类型:
数据类型 | 取值范围 |
date | 1990-01-01 |
tiem | 1990-01-01 |
datetime | 1990-01-01 |
可选参数:
参数 | 说明 |
AUTO_INCREMENT | 整数类型自增 |
primary key | 添加一个主键 |
not null | 禁止为空 |
UNIQUE | 唯一约束 |
COMMENT | 字段注释 |
例子:
create table user_data( `uid` int(64) AUTO_INCREMENT primary key not null,
`access` varchar(255) UNIQUE not null,
`password` varchar(255)
);
说明:这里添加了一个名为user_data的表,它有三个字段:
- 第一个字段是”uid“,int类型、自增、主键、不得为空
- 第二个字段是”access“ ,varchar类型、唯一、不得为空
- 第三个字段是”password“,varchar类型

注释:输出Query OK, 0 rows affected, 1 warning (0.02 sec)
即为创建成功,
注释:使用 show tables;
命令查看数据库内的表即可看到创建的user_data表

修改表结构
操作语句:
alter table `表` 操作类型
改变 表
修改字段
语法:
alter table `表` modify `字段` 数据类型 其它可选参数;
例子:
alter table `user_data` modify `password` varchar(32) not null;
说明:修改user_data表的数据类型为varchar(长度32)、不得为空。
注释:返回 Query OK, 0 rows affected (0.02 sec)
即代表修改成功

增加一个字段
语法:
alter table `表` add `字段名` 数据类型 其它可选参数;
例子:
alter table `user_data` add `phone` int(11);
说明:将user_data表添加一个int(长度11)类型的phone字段。
注释:返回Query OK, 0 rows affected, 1 warning (0.01 sec)
代表增加一个字段成功

注释:使用show columns from `表名`
查看,可以看到新添加的字段;

删除一个字段
语法:
alter table `表` drop`字段名`;
例子:
alter table `user_data` drop `phone`;
说明:将user_data表内的phone字段删除。
注释:返回Query OK, 0 rows affected (0.01 sec)
代表删除成功

注释:使用show columns from `表名`
查看,可以看到phone字段已被删除

重命名表
语法:
rename table `表名` to `重命名后的表名`;
例子:
rename table `user_data` to `user`;
说明:将user_data表重命名为user,返回Query OK, 0 rows affected (0.01 sec)
代表重命名成功

删除表
语法:
drop table `表名`
例子:
drop table `user`;
说明:将user表删除,返回Query OK, 0 rows affected (0.01 sec)
代表成功删除

插入记录
默认排序插入数据
语法:
insert into `表` values(数据);
例子:
user_data表结构:
uid | access | password |
insert into `user_data` values(NULL,'admin','123456');
注释:记录数据中的一个数据对应一个字段,每个字段的数据使用英文符” , “逗号隔开。
说明:给user_data表内插入一条记录,其中NULL对应 uid 字段,admin对应access字段,123456对应password字段。

注意:NULL需要字段为整数类型且为自增才能生效,否则MySQL会报错。
注释:输出Query OK, 0 rows affected, 1 warning (0.01 sec)
代表成功插入了一条数据。
注释:插入时可以同时插入多条记录,每条记录使用逗号隔开
例子:
insert into `user_data` values(NULL,'admin','123456'),(NULL,'tiantian','12345678'),(NULL,'onexru','666666');
自定义字段插入数据
语法:
insert into `表`(字段) values(数据);
例子:
insert into `user_data`(`uid`, `access`) values(NULL, 'tiantian');
说明:给user_data表内的uid、access字段插入数据
注意:自定义插入数据必须要给不能为空(not null 类型)的字段插入数据,否则MySQL会报错

查询数据库记录
操作语句:
select `字段` from `表`;
查询表记录
例子:
select * from `user_data`;
说明:查询user_data表中的所有记录

注释:* 星号代表查询全部字段
条件查询
语法:
select `字段` from `表` where 条件;
例子:
select * from `user_data` where `uid` = 1;
说明:查询user_data表中字段uid为1的记录

排序查询
语法:
select `字段` from `表` order by `排序参考字段` 排序方式;
注释:asc 为正序排列;desc 为倒序排列
例子:(正序)
select * from `user_data` order by `uid` asc;
说明:查询user_data表中所有数据参考uid字段正序排序输出;

例子:(倒序)
select * from `user_data` order by `uid` desc;
说明:查询user_data表中所有数据参考uid字段倒序排序输出;

注意:排序参考字段不能使用字符串类型的字段作为排序参考字段
删除表记录
操作语句:
delete from `表名` ;
删除所有记录
例子:
delete from `user_data`;
说明:删除user_data表内的所有记录

条件删除记录
语法:
delete from `表` where 条件;
例子:
delete from `user_data` where `uid` = 3;
说明:删除user_data数据库内字段uid为3的那条记录

注释:查询原来存在uid为3的记录,执行条件删除后再次查询uid字段为3的记录已经不存在了,说明成功删除了一条uid为3的记录
修改表记录值
语法:
update `表` set `字段` = 修改内容 where 条件;
例子:
update `user_data` set `password` = '123456789' where `uid` = 1;
说明:修改user_data表中uid为1的password记录为123456789
注释:如果不加上后面的where条件语句即为修改所有记录的password字段的数据

注释:可以同时修改多个字段内的记录,在set关键字后面用逗号隔开
例子:
update `user_data` set `access` = 'adminxru', `password` = '123456789' where `uid` = 1;
MySQL运算符
基本运算符
- + 加
- – 减
- * 乘
- / 除
- % 取余
例子:
select 1+1, 1-1, 1*1, 1/1, 1%1;

比较运算符
注释:比较运算符条件成立输出1(true),不成立输出0(false),一般可用于where条件查询
等于:= 、<=>
例子:
select 1=1,1<=>1;

不等于:!= 、<>
例子:
select 1!=1,1<>1;

小于等于:<=
例子:
select 1<=1,2<=1,1<=2;

大于等于:>=
例子:
select 1>=1,2>=1,1>=2;

小于:<
例子:
select 1<2,2<1;

大于:>
例子:
select 1>2,2>1;

逻辑运算符
- and 、&& 且
- or 、|| 或
- not 、! 非
- xor 异或
例子:
select 1=1 and 1=1, 1=1 && 1=1, 1=1 or 2=2 , 1=1 || 2=2, not 2, !1;

例子:(xro)
注释:xor当任意一个操作数为NULL时,返回值为NULL,对于非NULL的操作数,如果两个的逻辑真假值相异,则返回结果为1,否则为0,就是两个不能同时成立,也不能同时不成立,只成立其中一个条件
select 1 xor 0, 1 xor 1, null xor 1;

MySQL通配符
注释:使用通配符时需要在where条件后面添加like关键字
%
匹配多个字符,_
匹配单个字符
例子:
表结构:
letter |
ABCDEF |
BCDEFG |
CDEFGH |
匹配首字母为A的记录:
select `letter` from `letter` where `letter` like 'A%';

匹配包含C的记录:
select `letter` from `letter` where `letter` like '%C%';

匹配结尾是G的记录:
select `letter` from `letter` where `letter` like '%G';

匹配第三个字符是E的记录:
select `letter` from `letter` where `letter` like '__E%';

匹配首字母为B、尾字母为G的记录:
select `letter` from `letter` where `letter` like 'B%G';

匹配第三个字母是C、第五个字符是E的记录:
select `letter` from `letter` where `letter` like '__C_E_';

匹配多个条件:
select `letter` from `letter` where `letter` like '_C_E' or `letter` like 'B%G' or `letter` like 'C%';

in通配符集合
注释:组合查询,可以同时查询多个条件
语法:
in(条件一,条件二,条件三,…)
例子:
select `letter` from `letter` where `letter` in('ABCDEF','BCDEFG','CDEFGH');

MySQL区间运算
语法:
between 起始值 and 结束值
例子:
select * from `user_data` where `uid` between 2 and 9;
说明:查询user_data表中uid字段第2到第9的记录

结尾
MySQL基础操作教程暂时先到这,如有遗漏或者建议欢迎留言或联系我补充!