MySQL服务安装,卸载
卸载和安装
- 卸载
- 需要卸载干净sql服务,包括
系统配置,注册表
- 需要卸载干净sql服务,包括
- 安装
- 官方下载安装包安装
登录和使用
windows命令行
- 使用windows的dos命令登录mysql
1
mysql -u root -P 3306 -h 127.0.0.1 -proot
注意:
- -p和密码之间不能有空格,否则会认为是密码的一部分,其他的参数可以有也可以没有,不强制要求
- -p密码建议在下一行输入,保证安全
- 如果客户端和服务端在同一台机器上,ip(localhost)可以省略,如果默认使用3306端口号,也可以省略
基础使用- 简单命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50-- 查看服务版本号(登录前)
mysql -v / mysql --version
-- 登录后
select version();
-- 退出
exit ; / quit;
-- 查看所有数据库
show databases;
-- 使用数据库
use (数据库名)mysql;
-- 创建数据库
create database mytest1;
use mytest1;
-- 创建表
create table mytable1(
id int,
name varchar(20)
);
-- 查看表的创建信息
show create table mytable1;
-- 查看编码命令
show variables like 'character_%';
show variables like 'collation_%';
-- 修改用户密码规则
# 使用mysql数据库
use mysql;
# 修改root@localhost用户的密码规则和密码
alter user 'root'@'localhost' identified with mysql_native_password BY 'abc123';
# 刷新权限
FLUSH PRIVILEGES;
-- 修改数据表的字符编码
alter table mytable1 charset utf8;
-- 修改数据表字段的字符编码
alter table mytable1 modify name varchar(20) charset utf8;
-- 修改数据库的字符编码
alter datable mytest1 charset utf8;注意:
mysql 8.0之前,默认字符集是
latin1,utf8字符集指向的是utf8mb3,从mysql 8.0开始,数据库的默认编码改为utf8,从而避免了5.7的默认乱码问题
基本的SELECT语句
SQL分类
sql语言在功能上主要分为3大类
DDL(data definition languages 数据库定义语言),这些语句定义了不同的数据库,表,视图,索引等数据库对象,还可以用来创建,删除,修改数据库和数据表的结构
- 主要的语句关键字包括
createdropalter等
- 主要的语句关键字包括
DML(data manipulation language 数据操作语言),用于添加,删除,更新和查询数据库的记录,并检查数据的完整性
- 主要的语句关键字包括
insetupdatedeleteselect等 select是sql语言的基础,必须掌握
- 主要的语句关键字包括
DCL(data control language 数据控制语言),用于定义数据库,表,字段,用户的访问权限和安全级别
- 主要的语句关键字包括
grant(授予)revoke(撤销)commit(提交)rollback(回滚)savepoint(保存)等
1
因为查询语句使用的频率非常频繁,也有人把查询语句单独拎出来一类:DQL(data query language 数据查询语言),还有单独将 commit 和 rollback 取出来称为 TCL(transaction control langyage 事务控制语言)
- 主要的语句关键字包括
distinct使用
1 | select distinct department_id,salary from employees; |
注意:
DISTINCT需要放到所有列名的前面,如果写成select salary DISTINCT department_id from employees就会报错
DISTINCT其实是对后面的所有列名的组合进行去重,你能看到最后的结果是74条,是因为这74个部门id不同,都有salary这个属性值,如果想要看都有哪些不同的部门(department_id),只需要些DISTINCT department_id即可,后面不需要再加其他的列名了
空值参与运算
- 所有运算符或者列值遇到
null值,运算的结果都为null- 注意,在mysql中,空值不等于空字符串,一个空字符串的长度是
0,而一个空值的长度是空.而且,在mysql中,空值是占用空间的.
- 注意,在mysql中,空值不等于空字符串,一个空字符串的长度是
显示表结构
- 使用
DESCRIBE或者DESC命令,显示表结构
1 | DESCRIBE employees; |
算术运算符
- 一个数乘以1和除以1,仍得原数
- 一个数乘以浮点数1和除以浮点数1后变成浮点数,结果还是原数
- 一个数除以一个整数,不管是否能够除尽,结果都是浮点数
- 一个数除以另一个数,除不尽时,结果为一个浮点数,并保留到小数点后四位
- 乘法和除法优先级相同,先乘后除或者先除后乘结果相同
- 在数学运算中,
0不能做除数,在mysql中,一个数除以0为null;
比较运算符
比较运算符用来对表达式左边的操作数和右边的操作数进行比较,比较的结果为真则返回1,比较的结果为假则返回0,其他情况则返回NULL。
比较运算符经常被用来作为SELECT查询语句的条件来使用,返回符合条件的结果记录。