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登录可选参数

参数说明例子
-hMySQL服务器IP127.0.0.1/Iocalhost
-PMySQL端口号默认为3306
-uMySQL用户名全局管理员账号为root
-pMySQL密码安装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 `表名`(字段名 数据类型 其它可选参数)
创建

常用数据类型:

整数型:

数据类型取值范围
tinyint0—255
smallint-32768 — 32768
int-214783648 — 214783647

小数型:

数据类型取值范围
decimaldecimal(数据长度,保留小数位)

指定字符长度类型:

数据类型取值范围
charchar(字符长度)

变化字符串类型:

数据类型取值范围
varcharvarchar(字符串长度)

日期类型:

数据类型取值范围
date1990-01-01
tiem1990-01-01
datetime1990-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的表,它有三个字段:

  1. 第一个字段是”uid“,int类型、自增、主键、不得为空
  2. 第二个字段是”access“ ,varchar类型、唯一、不得为空
  3. 第三个字段是”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表结构:

uidaccesspassword
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运算符

基本运算符

  1. + 加
  2. – 减
  3. * 乘
  4. / 除
  5. % 取余

例子:

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;

逻辑运算符

  1. and 、&& 且
  2. or 、|| 或
  3. not 、! 非
  4. 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基础操作教程暂时先到这,如有遗漏或者建议欢迎留言或联系我补充!