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三张表
相关推荐
Rookie也要加油18 分钟前
01_SQLite
数据库·sqlite
liuxin3344556623 分钟前
教育技术革新:SpringBoot在线教育系统开发
数据库·spring boot·后端
看山还是山,看水还是。1 小时前
MySQL 管理
数据库·笔记·mysql·adb
fishmemory7sec1 小时前
Koa2项目实战2(路由管理、项目结构优化)
数据库·mongodb·koa
momo小菜pa1 小时前
【MySQL 09】表的内外连接
数据库·mysql
Jasonakeke2 小时前
【重学 MySQL】四十九、阿里 MySQL 命名规范及 MySQL8 DDL 的原子化
数据库·mysql
程序猿小D2 小时前
第二百六十九节 JPA教程 - JPA查询OrderBy两个属性示例
java·开发语言·数据库·windows·jpa
团儿.3 小时前
解锁MySQL高可用新境界:深入探索MHA架构的无限魅力与实战部署
数据库·mysql·架构·mysql之mha架构
程序猿小D3 小时前
第二百六十七节 JPA教程 - JPA查询AND条件示例
java·开发语言·前端·数据库·windows·python·jpa