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=utf8pid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockdatadir = /var/lib/mysqlsecure-file-priv= NULLDisabling 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/mysqldocker 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=utf8docker 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 mysqldservice mysqld statusstatus是查看状态的命令,还有其它的操作控制命令,如:
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