mysql的创建及使用

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 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 name;

在这里插入图片描述

使用数据库

use name;

创建表

三大范式

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;

在这里插入图片描述

相关文章

Docker是什么Docker是 Docker.Inc 公司开源的一个基于 LXC技...
本文为原创,原始地址为:http://www.cnblogs.com/fengzheng...
镜像操作列出镜像:$ sudo docker imagesREPOSITORY TAG IMA...
本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p...
在 Docker 中,如果你修改了一个容器的内容并希望将这些更改...
在Docker中,--privileged 参数给予容器内的进程几乎相同的权...