Mysql:数据库和表增删查改基本语句

一、数据库操作

1)、数据库创建

 创建数据库本质就是创建一个目录(ubuntu,创建的目录文件存放在/var/lib/mysql);后续创建表本质就是在该目录下创建文件(不同存储引擎,会创建的文件数目是不同的)!

 数据库创建语法如下:

c 复制代码
create database [if not exists] 数据库名 [编码集] [校验集]
  • 中的内容为可选项
  • if not exists字段意义在于,如果待创建的数据库已经存在,此时mysql不会做任何事。如果不加该字段,mysql会报error
  • 编码集:编码集是mysql存储数据时的编码格式。
  • 校验集:在mysql中,经常需要进程数据比较操作,但比较的前提是数据先被读出来。而校验集就是mysql读取数据时采用的编码格式。
  • mysql的编码集和校验集必须比配,否则存储的数据是没有意义的。我们可以通过show charset;查看mysql支持的字符集,show collation;查看mysql支持的校验集。
  • 如果没有显示指定编码集和校验集,此时创建出的数据库采用配置文件中的编码格式。可以通过show variables like 'character_set_database';查看默认字符集,show variables like 'collation_database';查看默认校验集!

2)、数据库删除

 数据库删除语法如下:

c 复制代码
drop database [if exists] 数据库名
  • 数据库删除后,对应的数据库文件夹被删除,数据库中的所有表也会被删除。

3)、数据库查看

3.1查看系统中存在的所有数据库

c 复制代码
show databases;

3.2显示数据库创建语句

c 复制代码
show create database 数据库名

【实例】:

  • 数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字
  • /*!40100 default... */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话

4)、数据库修改

 数据库修改主要是修改数据库的编码个数,即编码集和校验集。

c 复制代码
alter database 数据库名 新编码集 新校验集

)5、数据库备份

5.1 数据库备份

c 复制代码
 mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径

5.2 数据库恢复

c 复制代码
source 数据库绝对路径+文件名

5.3备份多张表

c 复制代码
# mysqldump -u root -p 数据库名 表名1 表名2 > 备份存储的文件路径
  • 如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据
    库,再使用source来还原

5.4 备份多个数据库

cpp 复制代码
mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径

二、表操作

1)、表创建

 新创建的表如果没有显示指定字符集和校验集,默认采用所在数据库的编码格式!

 语法:

cpp 复制代码
create table table_name(
    列名1 类型1,
    列名2 类型2,
    ......
)charset 字符集 collate 校验规则 engine 存储引擎;

2)、表查询

2.1查看表结构

c 复制代码
desc 表名

2.2 查看创建表细节

 desc查看到的创建语句是经过mysql内部语法分析、词法分析和优化调整后得到的,可能和我们手动创建过程略有不同!

c 复制代码
show create table tt1 \G

2.3 查看数据库中存在的表结构

c 复制代码
show tables;

3)、表修改

3.1 增加列属性

c 复制代码
alter table 表名 add 字段 属性

3.2 修改字段类型

c 复制代码
alter table 表名 modify 字段 新类型

3.3 删除表列属性

c 复制代码
alter table 表明 drop 列名;

4)、表删除

 语法:

c 复制代码
drop table [if exists] table_name1;
// 数据库也支持直接删除多张表,直接在table后添加待删除的多张表即可。
// 例如: drop table if exists t1 t2 t3; 直接删除t1、t2、t3三张表
相关推荐
Omics Pro42 分钟前
首个针对生物医药LLM智能体的全流程过程级评测框架
数据库·人工智能·windows·redis·量子计算
要开心吖ZSH1 小时前
MVCC 进阶:快照读 vs 当前读、幻读与 Next-Key Lock
java·数据库·sql·mysql·mvcc
水木流年追梦1 小时前
agent面试必备31- AI Agent 核心进阶:工具路由(Tool Routing)
数据库·人工智能·oracle·面试·职场和发展·embedding
xcLeigh1 小时前
KES运维自动化与脚本体系实战
运维·数据库·自动化·脚本·数据迁移·kes
万亿少女的梦1682 小时前
基于Spring Boot的社区管理系统设计与实现
java·spring boot·mysql·vue·系统设计
大气的小蜜蜂2 小时前
领域层的服务
java·前端·数据库
翔云1234562 小时前
简单概括主库上 Executed_Gtid_Set 是什么时候更新的
数据库·mysql
要开心吖ZSH2 小时前
Java事务与MySQL事务的关系及MVCC通俗解析
java·开发语言·mysql·mvcc
火星校尉2 小时前
一场数据基建与消费场景的跨界实验
java·前端·数据库·python·php
平安的平安2 小时前
从“云端排队“到“边缘上岗“:DolphinDB 云边协同如何重塑工业现场的实时智能
数据库