mysql的创建及使用
常用命令
(1)启动docker
systemctl start docker
(2)列出docker 中的镜像
docker image ls
(3)启动(创建)mysql(其中名字和密码可以自己设)
docker run itd --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123 docker.io/mysql

(4)进入mysql(识别中文)
docker exec -it mysql env LANG=C.UTF-8 bin/bash
(5)使用root用户进入mysql
mysql -u root -p
关闭以后下一次重新打开mysql的方法
(1)重新启动docker
systemctl restart docker

通过 docker ps 可以看到此时mysql并没有运行
(2)显示所有的容器,包括之前已经关闭的
docker ps -a

可以看到之前创建好的 mysql 的 CONTAINER ID,可以通过这个来重新启动mysql
(3)重新启动mysql
docker restart CONTAINER ID

通过 docker ps 可以看到此时mysql已经开始运行
(4)进入mysql
docker exec -it mysql env LANG=C.UTF-8 bin/bash 
(5)使用root用户登录

mysql语句
创建用户
CREATE USER ‘用户名’@’%’ IDENTIFIED by ‘密码’
例:CREATE USER ‘sql_test’@’%’ IDENTIFIED by ‘123’
这里的%指可以被任何 ip 访问
注:这里区分大小写,一定要大写
刷新:flush privileges;

查看所有用户
select user,host from mysql.user

给用户授权
grant all privileges on *.* to 'lia'@'%'
这里的*.*表示所有权限

删除用户
drop user sql_test
drop会删除表中的数据及其他权限表的内容
也可以使用delete来删除用户,但是只会删除表中的数据,需要使用flush privileges 来刷新权限
这里有两个 sql_test,默认删除的是’XXX’@’%'这个用户

如果要删除另外一个,则使用
drop user sql_test@ip

查看所有数据库
show databases;

新建数据库
create database 数据库名称;

使用数据库
use 数据库名称;
创建表
三大范式
1.原子性
即:字段不可再拆分
数据库表的每一列都是不可分割的原子数据项,而不能是集合、数组等非原子数据项
2.主键唯一性
数据库表中的每一个实例或记录必须可以被唯一的区分
选取一个能区分每个实体的属性或属性组,作为实体的唯一标识
即:保证两行不重复
可以采用主键策略
3.非主依赖
字段只能依赖于主键,不能依赖于非主键
创建表示例


相关命令
查看表的结构
desc 表名
例:

修改表名
alter table 旧表名 rename 新表名
例:alter table book_tab rename book_tabbbb

修改表中的字段类型/范围
alter table 表名 modify 字段 类型/范围;
例:alter table book_tab modify book_title varchar(50);

修改表中的字段名称
alter table book_tab change 旧字段 新字段 新字段类型/范围;
例:alter table book_tab change book_title book_name varchar(60);

在表中添加字段
alter table book_tab add 字段名称 字段类型/范围;
例:alter table book_tab add book_publisher varchar(50);

删除字段
alter table book_tab drop 字段;
例:alter table book_tab drop book_publisher;

本文介绍了MySQL的创建、启动和使用命令,包括如何创建用户、查看用户、授权、删除用户,以及查看和管理数据库。此外,还讲解了数据库设计的三大范式,并展示了创建表、修改表结构的相关SQL语句。内容涵盖了docker环境下MySQL的运行和管理。
10万+

被折叠的 条评论
为什么被折叠?



