【MySQL】库和表的操作

文章目录

库操作

创建数据库

cpp 复制代码
create database name

创建库的本质其实是在一个路径下创建一个目录。
MySQL :

目录 :

删除数据库

cpp 复制代码
drop database name

删除数据库本质其实是删除一个路径下的一个目录。
MySQL :

目录 :

字符集和校验规则

  1. 数据库编码集:数据库未来存储的数据
  2. 数据库校验集:支持数据库进行对应的字段比较,使用同样的编码,本质是一种读取数据库中的数据采用的编码格式。

在创建数据库的时候后面可以跟上选项,采用我们指定的字符集和校验规则,但是如果不加选项就会使用配置文件中默认的字符集和校验规则。

指定字符集:

cpp 复制代码
create database db2 charset=utf8;

指定校验规则:

cpp 复制代码
create database db3 charset=utf8 collate utf8_general_ci;

查看默认字符集和默认校验规则:

cpp 复制代码
show variables like 'character_set_database';
cpp 复制代码
show variables like 'collation_database';


不同校验规则之间产生的影响 :

我们创建一个校验规则是utf8_bin的数据库,创建一个校验规则是utf8_general_ci的数据库,分别在两个数据库当中创建表结构。

创建表结构:

创建表结构并且在表结构中插入数据,我们查看表中的a:

可以看见在utf8_bin这个校验规则中是区分大小写的,当我们查看a时只出现了a,我们用相同的做法在表2中,查看a:

可以看见当我们查看a的时候,A也跟着出来了,所以可以发现utf8_general_ci对应的校验规则是不区分大小写的。

查看数据库

cpp 复制代码
show databases;


显示创建语句:

cpp 复制代码
show create database 数据库名;


显示当前所在数据库:

cpp 复制代码
select database();

修改数据库

cpp 复制代码
ALTER DATABASE db_name

对数据库的修改主要指的是修改数据库的字符集或者校验规则

修改数据的字符集

表操作

创建表结构

cpp 复制代码
create table users (
id int,
name varchar(20) comment '用户名',
password char(32) comment '密码是32位的md5值',
birthday date comment '生日'
) character set utf8 engine MyISAM;

在创建表时,后面可以跟上我们指定的engine和指定的字符集。

不同引擎对应的创建的表的文件个数是不同的。

查看表结构

cpp 复制代码
desc name

修改表结构

cpp 复制代码
ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column
datatype]...);
ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column
datatype]...);
ALTER TABLE tablename DROP (column);

增加列 :

可以看见我们这里成功增加了一列。
删除列 :

修改列名称 :

修改列名称时必须加上对应的属性

查看使用当前数据库的用户

cpp 复制代码
show processlist

总结

本篇文章介绍了数据库和表的常见操作,包括创建、修改和查看数据库及表结构。此外,还涉及字符集和校验规则的管理,以及如何查看当前数据库的使用用户。通过这些内容,读者可以掌握数据库基础操作,提高数据库管理能力。在实际应用中,合理规划数据库结构、使用合适的字符集和权限管理,能够有效提升系统的稳定性与安全性。

相关推荐
ly768934 分钟前
PostgreSQL 流复制与高可用切换:主从延迟、同步提交与 Spring Boot 读写分离的边界
数据库·spring boot·postgresql·读写分离·流复制·高可用切换
l1t1 小时前
修改两处,让SQLite求解数独SQL在datafusion上运行
服务器·数据库·sql
data analyse 4561 小时前
服务端统计时区切换的日期归并
大数据·前端·数据库·人工智能·数据分析
要开心吖ZSH1 小时前
《通过SeaTunnel 把 MySQL 的数据搬进 Doris》番外篇:容量、切分与速度——Doris 能扛多少,比 MySQL 快多少
mysql·性能优化·doris·分区·分表·分桶
远方16091 小时前
108-ORA-00600 [kdsgrp1-qetlbr] 内部错误排查与 RMAN 块级恢复
大数据·linux·数据库·oracle
福娃筱欢2 小时前
SQLServer迁移至KES SQLServer模式 问题整理
数据库·oracle·sqlserver
hflmwl82 小时前
RedisDesktopManager安装包中文版官方下载,redis可视化客户端工具下载
数据库·redis·缓存·可视化客户端工具
FluxDB2 小时前
《用 Rust + GPUI 做了一个开源数据库客户端:FluxDB》
数据库
roman_日积跬步-终至千里2 小时前
【数据Agent论文·查询与语义|09】Spider 2.0:从生成SQL走向完成企业工作流
数据库·sql·数据分析
曦夜日长2 小时前
MySQL系统篇,数据库基础(二):数据库概念、SQL 分类与存储引擎
数据库·sql·mysql