安装MySQL
初始化:mysqld --initialize-insecure --console
安装服务:mysqld -install
启动服务:net start MySQL
01-03、登录设置
登录:mysql -u root -p
修改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' ;
退出: exit / quit
01-04、客户端命令
帮助:help
语句:show databases;
show engines;
show tables ;
desc user ;
select host , user , authentication_string from user ;
01-05、MySQL Workbenth
卸载MySQL
停止服务:net stop MySQL
卸载服务:D:\Program Files\mysql-8.0.22-winx64\bin>mysqld -remove
删除目录:
02-01、数据库操作
1、创建数据库
create database myshop ;
2、查看数据库
show databases ;
show create database myshop ;
3、选择数据库
status
use myshop
4、删除数据库
drop database myshop ;
02-02、数据表操作
1、创建数据表
mysql> CREATE TABLE plat_user (
-> tel varchar(11) ,
-> password varchar(128) ,
-> nickname varchar(32) ,
-> photo varchar(128) ,
-> create_time datetime
-> );
2、查看数据表
2.1、查看数据表
show tables ;
2.1、查看数据表状态
show table status from myshop ;
show table status from myshop \G
3、修改数据表
3.1、修改数据表名
rename table myshop to myshop01;
3.2、修改表选项
CREATE TABLE `plat_user` (
`tel` varchar(11) DEFAULT NULL,
`password` varchar(128) DEFAULT NULL,
`nickname` varchar(32) DEFAULT NULL,
`photo` varchar(128) DEFAULT NULL,
`create_time` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
ALTER TABLE plat_user charset = utf8;
show warnings ;
CREATE TABLE `plat_user` (
`tel` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
`password` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
`nickname` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
`photo` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
`create_time` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
4、查看表结构
4.1、查看表结构的字段信息
DESC plat_user ;
DESCRIBE plat_user ;
4.2、查看数据表的创建语句
4.3、查看数据表结构
SHOW FULL COLUMNS FROM myshop.plat_user ;
SHOW FULL COLUMNS FROM myshop.plat_user \G
5、修改表结构
5.1、修改字段名
ALTER TABLE plat_user CHANGE tel telphone varchar(11);
5.2、修改字段类型
ALTER TABLE plat_user CHANGE telphone tel varchar(16) ;
5.3、修改字段的位置
ALTER TABLE plat_user MODIFY tel varchar(16) AFTER nickname ;
5.4、新增字段
ALTER TABLE plat_user ADD gender char(1);
5.5、删除字段
ALTER TABLE plat_user DROP gender ;
6、删除数据表
DROP TABLE plat_user1;
DROP TABLE IF EXISTS plat_user1;
SHOW WARNINGS ;
DROP TABLE IF EXISTS plat_user ;
SHOW TABLES ;
02-03、数据操作
1、添加数据
#全列插入
INSERT INTO plat_user
VALUES( '18602947595' ,'123456' ,'goldenunion' , '' ,null );
#限定列插入
INSERT INTO plat_user( tel , password , nickname )
VALUES( '18688889999' , '456789' ,'阿宝哥' );
2、查询数据
#全列查询
SELECT * FROM plat_user;
#限定列查询
SELECT tel , password , nickname FROM plat_user;
#限定行
SELECT tel , password , nickname FROM plat_user
WHERE nickname = 'goldenunion' ;
3、修改数据
#所有行
UPDATE plat_user SET photo = 'abc.jpg';
#限定行
UPDATE plat_user SET photo = 'abc123.jpg'
WHERE nickname = 'goldenunion' ;
4、删除数据
#全表数据删除
DELETE FROM plat_user ;
#限定行
DELETE FROM plat_user
WHERE tel = '18688889999' and password = '456789' ;
单表操作
03-01、数据操作
03-02、排序
INSERT INTO plat_user( tel , password , nickname )
VALUES( '18688889999' , '456789' ,'王五哥' );
INSERT INTO plat_user( tel , password , nickname )
VALUES( '17688887777' , '888888' ,'张三哥' );
INSERT INTO plat_user( tel , password , nickname )
VALUES( '17688887777' , '999999' ,'李四哥' );
#降序
select * from plat_user
order by tel desc ;
#升序
select * from plat_user
order by tel asc ;
#多列排序
select * from plat_user
order by tel desc , nickname asc ;
select * from plat_user
order by tel desc , nickname desc ;
03-03、限量
差前n条
mysql> select * from plat_user
-> where nickname is not null
-> limit 2;
从第m条开始查询,查询n条
mysql> select * from plat_user
-> where nickname is not null
-> limit 2 , 4 ;
mysql> select * from plat_user
-> where nickname is not null
-> limit 2 , 1 ;
03-04、分组
#单列分组
mysql> select create_time from plat_user
-> group by create_time ;
#多列分组
mysql> select create_time ,nickname from plat_user
-> group by create_time , nickname ;
03-05、聚合函数/分组函数
如果要在分组查询中输出查询非分组列,必须要和聚合函数一起输出
mysql> select create_time , count(tel) from plat_user
-> group by create_time ;
奇数所有
select count(*) from plat_user ;
最大
select max(tel) from plat_user ;
最小
select min(tel) from plat_user ;
求和
select sum(tel) from plat_user ;
平均数
select avg(tel) from plat_user ;
03-06、别名
select avg(tel) '平均数' from plat_user ;
select avg(tel) as '平均数' from plat_user ;
select 1 + 1 + 3 as 'result' ;
03-07、条件(限定行)
where