MySQL库和表的操作

操作库

  1. 创建删除
sql 复制代码
create database [if not exists] db_name;   #创建
drop database [if exists]db_name;    #删除
#if not exists 可选项:存在就不创建,不存在就创建

创建数据库的时候,有两个编码集:

  • 数据库编码集 -- 存储
  • 数据库校验集 -- 支持数据库,进行字段比较使用的编码,本质也是一种读取数据库中的数据的采用的编码格式

查看编码集和校验集

sql 复制代码
show variables like 'character_set_darabase';   #查看编码集
show variables like 'collation_database';    #查看校验集
show variables like 'collation_%';    #查看所有检验集
show charset;    #查看数据库全部支持的编码方式
show collation;    #查看数据库的校验集

创建数据库时指定编码和校验集

sql 复制代码
create database d2 charset=utf8;    #创建数据库时指定编码集
create database d3 chatset=utf8 collate utf8_general_ci;   #指定编码和校验集

没有设置就使用配置文件里面的编码格式

utf8_general_ci不区分大小写,utf_bin区分大小写

system clear 在MySQL可以清屏

校验集会影响表的查找

  1. 查找
sql 复制代码
show databases;    #查看数据库
use d1;    #进入到数据库
show tables    #查看表
select database();    #查看当前在哪个数据库
  1. 修改
sql 复制代码
alter database test2 charset=gbk collate gbk_chinese_ci;    #修改编码集和校验集
show create database test2;    #查看创建test2时的指令
mysql> show create database mytest;
+----------+----------------------------------------------------------------+
| Database | Create Database                                                |
+----------+----------------------------------------------------------------+
| mysql    | CREATE DATABASE `mytest` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+----------------------------------------------------------------+
#/*!40100  default.... */这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话

库的备份和恢复

语法

powershell 复制代码
mysqldump -P3306 -uroot -p -B test1 > test1.sql    #备份
mysqldump -uroot -p -B 数据库名 表名1 表2 > 路径;     #备份多个表
mysqldump -uroot -p -B 数据库1 数据库2 > 路径;     #备份多个数据库
sql 复制代码
source 文件路径;    #还原
  • 如果没有使用-B,在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原
sql 复制代码
show processlist;    #查看其他用户的操作

表的操作

  1. 创建表
sql 复制代码
create table table_name (
	field1 datatype,
	field2 datatype,
	field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;

案例:

sql 复制代码
create table users(
	id int,
	name varchar(20) comment '用户名',    #comment是注释
	password char(32) comment '密码',
	birthday date comment '生日'
) character set utf8 engine MyISAM;
#charset=utf8 collate=utf8_general_ci engine=InnoDB;    #与上面写法一样引擎有所差异
  1. 查看表
sql 复制代码
show tables;     #查看表
desc table_name;    #查看表的结构
show create table user1 \G   #显示创建user1表时的详细信息,不需要;
  1. 修改表
sql 复制代码
alter table 旧表名 rename to 新表名;     #修改表名,to可以省略
insert into 表名 values (1,'张三','12345','2022-3-5');       #插入数据
select * from 表名;     #显示表的内容
alter table 表名 add image_path varchar(128) comment '这是用户的头像路径' after birthday;
#在birthday列之后新增image_path列
alter table 表名 modify name varchar(60);  #修改name的varchar大小,没有改comment,之前的comment会被覆盖
alter table 表名 drop 列名;    #删除一列的数据
alter table 表名 change name 新名称 varchar(60) DEFAULT NULL;    #修改列的名字
  1. 删除表
sql 复制代码
drop table 表名;     #删除表,表的数据也会没

不要轻易删除和修改数据库和表。

相关推荐
91刘仁德6 小时前
MYSQL 事务原理及使用
android·mysql·adb
wxwx_bscxy3226 小时前
NodeJS 高校学业预警系统10551
mysql·node.js·vue·高校学业预警
袋鼠云数栈6 小时前
实时湖仓如何真正做到“数据够新”?
大数据·数据库·人工智能·数据治理
ACP广源盛139246256737 小时前
M6/M5 Pro Mac mini 端侧 AI 落地@ACP#YLB3116 中端多盘存储扩展在 AI 服务中的机会与应用场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos
ACP广源盛139246256737 小时前
M6/M5 Pro Mac mini 端侧 AI 新形态@ACP#GSV5800 Serdes 长距离视频传输在 AI 服务中的机会与落地场景
大数据·网络·数据库·人工智能·嵌入式硬件·macos·音视频
倔强的石头_9 小时前
事务边界与批量写入:避免长事务、锁等待和日志压力
数据库
努力努力再努力wz9 小时前
【Redis入门系列】从 KEYS 到 SCAN:渐进式遍历、Cursor 与位反转原理
数据库·redis·缓存
坐吃山猪10 小时前
【多线程】Lock与Condition
大数据·数据库
Lightpwd10 小时前
Spring Boot 多数据源落地:AbstractRoutingDataSource + 注解切面(附源码)
数据库·后端
LabVIEW开发11 小时前
LabVIEW 64位安装的位深陷阱:工具包、内存与工程兼容
数据库·labview·labview知识·labview功能·labview程序