登录/注册
FLuoxetine
362
占位
3
占位
0
浏览量
占位
粉丝
占位
关注
MYSQL数据库
FLuoxetine
2020-06-04 09:15:25 2020-06-04
444
1

1.数据库操作

1.1.1本地连接数据库
mysql -uroot -p密码
mysql>

1.1.2创建数据库

语法:create databases 数据库名[charset| default character set] utf8;

查看当前mysql中的所有数据库

show databases;
查看数据库的创建语句:
show create database 数据库名;

1.1.3打开数据库

语法:use 数据库名;

删除数据库:if exists判断是否有,有删除。

语法:drop database [if exists] 数据库名
drop database if exists 数据库名;

1.2数据库配置

1.2.1服务器配置
注意:在MYSQL容器的Linux的版本是Centos。
文件位置: /etc/mysql/my.cnf
内容如下
[mysqld]
character-set-server=utf8
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL

Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

Custom config should go here

!includedir /etc/mysql/conf.d/

修改后上传mysql容器中(db0)

docker cp db0:/etc/mysql

docker cp mysql/my.cnf db0:/etc/mysql/my.cnf

上传后重启(db0)

docker restart db0

检验字符集是否成功:

docker exec -it db0 mysql -uroot -p密码
mysql>show variables like '%character%';
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+
8 rows in set (0.00 sec)

1.2.2客户端配置

文件位置: /etc/mysql/conf.d/mysql.cnf
内容如下
[mysql]
default-character-set=utf8

docker cp mysql/conf.d/mysql.cnf db0:/etc/mysql/conf.d/mysql.cnf

1.2.3查看服务

查看端口占用情况:
netstat -anp | grep 3306

查看进程是否运行:

ps -ef|grep mysql

查看服务运行的状态:

systemctl status mysqld
service mysqld status

status是查看状态的命令,还有其它的操作控制命令,如:

start   # 启动服务
restart # 重启服务
stop # 停止服务
enable # 开机启动
disable # 取消开机启动

1.3数据表操作

针对表的操作,分为两大类型的SQL语句:

1) DDL(数据库定义语言): 描述表结构,如表名、字符集、数据库引擎、字列、序列化、索引、约束。【提示】当DDL语句执行时,默认会提交事务。

2) DML(数据库操纵语言): 针对对象(表)的内容进行增、删、改、查(CURD简称)。

1.3.1 创建表

官方文档:https://dev.mysql.com/doc/refman/8.0/en/creating-tables.html

语法:

create table 表名(
字段名 字段类型[( length )] [ 约束 ] [comment 注释文本],
字段名2 字段类型[( length )] [ 约束 ] [comment 注释文本],
....,
字段名n 字段类型[( length )] [ 约束 ] [comment 注释文本]
) engine=InnoDB charset=utf8 ;
create table 表名(
字段名 字段类型[( length )] [ 约束 ] [comment 注释文本],
字段名2 字段类型[( length )] [ 约束 ] [comment 注释文本],
[ constraint 约束名] 约束类型,
[ constraint 约束名2] 约束类型
) engine=InnoDB charset=utf8 ;

字段类型:

varchar 可变的字符串类型, 如varchar(50)来说, 内容是'disen'。
char 固定大小的字符串类型,如char(20)来说, 内容限于20个字符以内.
text 文本类型,内容最大的限制是由存储空间决定的。
blob 超大文本类型
enum 枚举类型, 字段的内容只限指定的范围。
float 小数类型
decimal 双精度的小数类型
int 整型
integer 大数的整型, 一般用于主键的列值中。
d

暂无评论