当前位置: 首页 > news >正文

【MySQL】库和表的操作

在这里插入图片描述

文章目录

  • 库操作
    • 创建数据库
    • 删除数据库
    • 字符集和校验规则
    • 查看数据库
    • 修改数据库
  • 表操作
    • 创建表结构
    • 查看表结构
    • 修改表结构
    • 查看使用当前数据库的用户
  • 总结

库操作

创建数据库

create database name

创建库的本质其实是在一个路径下创建一个目录。
MySQL
在这里插入图片描述
目录
在这里插入图片描述

删除数据库

drop database name

删除数据库本质其实是删除一个路径下的一个目录。
MySQL
在这里插入图片描述
目录
在这里插入图片描述

字符集和校验规则

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

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

指定字符集

create database db2 charset=utf8;

指定校验规则

create database db3 charset=utf8 collate utf8_general_ci;

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

show variables like 'character_set_database';

在这里插入图片描述

show variables like 'collation_database';

在这里插入图片描述
不同校验规则之间产生的影响
我们创建一个校验规则是utf8_bin的数据库,创建一个校验规则是utf8_general_ci的数据库,分别在两个数据库当中创建表结构。
在这里插入图片描述
创建表结构:
在这里插入图片描述
创建表结构并且在表结构中插入数据,我们查看表中的a:
在这里插入图片描述
可以看见在utf8_bin这个校验规则中是区分大小写的,当我们查看a时只出现了a,我们用相同的做法在表2中,查看a:
在这里插入图片描述
可以看见当我们查看a的时候,A也跟着出来了,所以可以发现utf8_general_ci对应的校验规则是不区分大小写的。

查看数据库

show databases;

在这里插入图片描述
显示创建语句

show create database 数据库名;

在这里插入图片描述
显示当前所在数据库

select database();

在这里插入图片描述

修改数据库

ALTER DATABASE db_name

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

在这里插入图片描述
修改数据的字符集

表操作

创建表结构

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

在创建表时,后面可以跟上我们指定的engine和指定的字符集。
在这里插入图片描述
不同引擎对应的创建的表的文件个数是不同的。
在这里插入图片描述

查看表结构

desc name

在这里插入图片描述

修改表结构

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);

增加列
在这里插入图片描述
可以看见我们这里成功增加了一列。
删除列
在这里插入图片描述
修改列名称
修改列名称时必须加上对应的属性
在这里插入图片描述

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

show processlist

在这里插入图片描述

总结

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

相关文章:

  • css的背景图和背景色混用;rgba和opacity区别
  • 如何使用logrotete定时切割mysql的慢日志
  • 【SpringMVC】深入解析使用 Postman 在请求中传递对象类型、数组类型、参数类型的参数方法和后端参数重命名、及非必传参数设置的方法
  • Spring Cloud Alibaba 实战:Sentinel 保障微服务的高可用性与流量防护
  • React 性能优化
  • 使用Python实现量子计算实验工具的全景指南
  • WHAT - 前端性能指标
  • 记录一次解决日期格式引起的SQL失效的问题
  • Python Flask 开发用于访问数据库的 REST API
  • 深度学习与大模型-矩阵的运算
  • Trae AI 自动升级项目Nuxt版本
  • 其他元素的乘积(前后缀积)
  • C++ 编程指南27 - 始终将 mutex 与它所保护的数据一起定义,并尽可能使用 synchronized_value<T>
  • Linux网络 五种 IO 模型
  • Netty基础—2.网络编程基础四
  • Linux运维(三)Linux命令行操作:从菜鸟到高手
  • 【性能测试】Jmeter如何做一份测试报告(3)
  • C++ 布尔类型(bool)深度解析
  • PHP+redis 优雅实现加锁机制
  • RedHatLinux的第一次作业
  • 博物馆书单|走进博物馆,去体验一场与文明的对话
  • 阳光保险拟设立私募证券投资基金,总规模200亿元
  • 美联储官员:美国经济增速可能放缓,现行关税政策仍将导致物价上涨
  • 总奖金池百万!澎湃与七猫非虚构写作与现实题材征文大赛征稿启动
  • 烤肉店从泔水桶内捞出肉串再烤?西安未央区市监局:停业整顿
  • 李成钢出席中国与《数字经济伙伴关系协定》成员部级会议