MySQL库表基础操作大全
库的操作
编码集与校验集
编码集:存储数据使用的编码格式。
校验集:支持数据库进行字段比较的编码格式。(像数据库内表内容的查找)
注意:通常情况下编码集与校验集是属于同一个类的,这样方便了数据的存取、查找。
各库编码集与校验集查询
SELECT SCHEMA_NAME, DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA;

_ai / _ci的解释

当使用“ 区分 / 不区分大小写 ”的数据库查询器内部的数据时----使用到了校验集。
当区分大小写时是安装ascll码值排序的。不区分大小写则是将a A视作一个大小。
校验集
使用select时就使用了校验集utf8mb4_0900_ai_ci用于显示

查询指令
-- 查询当前库所在位置 select database(); -- 查看拥有哪些库 show databases; -- 查看表的内容 select * from 表名
注意:查询库显示的库是在根路径下的库。
- 最初进入mysql路径是,默认数据库(可能没有---“NULL”)
查看当前所在是库的位置

库、表的备份与恢复
注意:禁止在Linux、MySQL下直接拷贝、重命名、删除数据库
库
形成的备份文件以.sql后缀命名
base下执行:
mysqldump -P3306 -u root -p 此处不要明写密码 -B 数据库名 > 数据库备份文件形成路径索引
- “>”其实是重定向的标志,若改为“>>”那么就是“追加”了。
- “-B”若在dump时不使用-B就要在恢复时先创建对应的数据库名进入后(use)在source恢复。
注意:明写密码十分不安全,要在回车后输入。
.sql内容其实是对库的历史命令操作相关

恢复时mysql下执行:
source 文件路径 如: source /var/lib/mysql/FirDir_back.sql
source恢复前必须要养成的好习惯:

注意:此处查询依旧按照“校验集”来验证。(默认情况下.sql文件内是按照大写格式的内容)所以我们不要图省事使用小写查询(这样可能导致受(不忽略大小写)“校验集”限制导致误判)。
相看当前数据库的连接情况
show processlist;

我的MySQL版本:8.0.46
select version();

表的操作
创建表
mysql> create table girls (
-> age int comment '名字',
-> height double comment '身高',
-> weight double comment '体重'
-> ) character set utf8mb4 collate=utf8mb4_0900_ai_ci engine=InnoDB comment='女生学习表';
-- 以后建议都使用这种写法。 character后必须set,不能'='‘comment’就是相当于注释内容。(解释字段)
删除表
drop table 表名;
显示表
show tables;

检查表属性
desc 表名;

- NULL:字段代表是否允许为空
- Key:索引类型
- default:默认值
- extra:扩充
show create table 表名 \G

此处故意将'age'的注释写错为'名字'
行内操作
增加行
insert into 表名(列1,列2,列3) values(v_1,v_2,v_3);
删除行
delete from [表名] where [查找依据] = [value];
更改行内特定元素
update [表名] set [修改目标所属列] = [新值] where [定位条件] ;
-- 像id=1列操作
新增列
alter table [列名] [列类型] [可选:注释] [位置]; -- 在age列后插入名字列 alter table girls add name varchar(6) comment '名字' after age;
位置
位置 | 选项 |
| 第一列 | first |
| 某列后 | after |
| 默认最后一列 | 不输入位置(默认位置) |
更改列属性
注意:更改是“覆盖”性质的,更改前一定要确定好原属性。
更改前


alter table girls modify height int;
更改后


删除列
alter table [表名] drop [列名];
到此这篇关于MySQL库表基础操作大全的文章就介绍到这了,更多相关mysql库表操作内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
mysql_fetch_row()与mysql_fetch_array()的使用介绍
本篇文章是对mysql_fetch_row()与mysql_fetch_array()的使用进行了详细的分析介绍,需要的朋友参考下2013-06-06
MySQL slave_net_timeout参数解决的一个集群问题案例
这篇文章主要介绍了MySQL slave_net_timeout参数解决的一个集群问题案例,问题日志请见正文,本文使用slave_net_timeout参数解决了这个问题,需要的朋友可以参考下2015-05-05
select count()和select count(1)的区别和执行方式讲解
今天小编就为大家分享一篇关于select count()和select count(1)的区别和执行方式讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2019-03-03
一文了解MySQL Optimizer Trace的神奇功能
这篇文章主要为大家介绍了一文了解MySQL Optimizer Trace的神奇功能详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-06-06
解说mysql之binlog日志以及利用binlog日志恢复数据的方法
下面小编就为大家带来一篇解说mysql之binlog日志以及利用binlog日志恢复数据的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-03-03


最新评论