【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

总结

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

相关推荐
努力也学不会java18 小时前
【设计模式】抽象工厂模式
java·设计模式·oracle·抽象工厂模式
-Xie-18 小时前
Mysql杂志(十六)——缓存池
数据库·mysql·缓存
玉衡子18 小时前
八、MySQL全局优化总结&MySQL8新特性
java·mysql
七夜zippoe18 小时前
缓存与数据库一致性实战手册:从故障修复到架构演进
数据库·缓存·架构
计算机毕业设计木哥18 小时前
计算机毕设选题推荐:基于Java+SpringBoot物品租赁管理系统【源码+文档+调试】
java·vue.js·spring boot·mysql·spark·毕业设计·课程设计
一个天蝎座 白勺 程序猿19 小时前
Apache IoTDB(5):深度解析时序数据库 IoTDB 在 AINode 模式单机和集群的部署与实践
数据库·apache·时序数据库·iotdb·ainode
QQ35967734519 小时前
ArcGIS Pro实现基于 Excel 表格批量创建标准地理数据库(GDB)——高效数据库建库解决方案
数据库·arcgis·excel
学编程的小程20 小时前
突破局域网限制:MongoDB远程管理新体验
数据库·mongodb
波波烤鸭20 小时前
Redis 高可用实战源码解析(Sentinel + Cluster 整合应用)
数据库·redis·sentinel
l1t1 天前
利用DeepSeek实现服务器客户端模式的DuckDB原型
服务器·c语言·数据库·人工智能·postgresql·协议·duckdb