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

数据库11:MySQL 库的操作、库的说明与表的操作、表的说明

数据库操作库的语句

创建库

注意:库名不要有大写字母

create database a1;

create schema a2;

创建新的数据库,并修改默认的字符集

create database a3 character set utf8mb4;

创建新的数据库,并修改默认的字符集和校对(排序)规则

create database a4 charset utf8 collate utf8_general_mysql500_ci;

查看库

查看是否已经创建好

show databases;

查看创建的库的语句信息

show create database a4;

过滤查看指定的数据库信息

show databases like '%65535%';

数据库安装完毕后,默认的数据库说明

数据库名说明
mysql系统核心数据库,存储用户、权限、系统元数据等(权限、账户、安全)
information_schema虚拟数据库,提供关于所有数据库结构的元信息(结构元数据,虚拟只读)
performance_schema性能监控数据库,用于收集数据库内部运行统计 (性能监控,系统事件)
sys提供易读视图和性能分析工具的辅助数据库 (简化视图,性能分析)

mysql:系统权限控制、认证机制、插件、密码策略、账户锁定状态等都在此数据库中管理

表名说明
user存储所有 MySQL 用户的基本信息和权限
db用户对特定数据库的权限
tables_priv用户对具体表的权限
columns_priv用户对具体列的权限
procs_priv存储过程、函数权限
global_grantsMySQL 8 引入的全局权限管理
role_edges角色与角色之间的继承关系
default_roles用户默认角色
time_zone*与时区相关的表(如 time_zone, time_zone_name 等)

information_schema:一个只读的虚拟数据库,不占用磁盘空间,提供关于所有数据库、表、列、索引、视图、触发器等的元信息视图

performance_schema:用于性能分析和监控,包括:SQL 执行时间,资源消耗,等待事件(如锁),内存/IO 使用情况

sys:自 MySQL 5.7 引入,提供了大量 简化的视图和分析工具,帮助 DBA 快速理解系统状态
select * from sys.memory_by_user_by_current_bytes;

select * from sys.user_summary;


 

删除库

注意:最好别用,也别会用

drop database a3;

drop database a4;

修改库

修改a1库的字符集为utf8mb4

alter database a1 charset utf8mb4;

修改a2库的字符集为utf8,校对(排序)规则为utf8_general_mysql500_ci

alter database a2 charset utf8 collate utf8_general_mysql500_ci;

切换库

进入a1库

use a1;

查看当前所在数据库

select database();

数据库操作表的语句

创建表

语法格式:create table <表名>(

<字段名1><类型1> 约束 属性,

.................

<字段名n><类型n> 约束 属性);

创建一个student表,字段id是主键,类型为int,不允许为空,备注为学号,字段name类型为varchar(45),最多允许输入45个字符,不允许为空,备注为姓名,字段age类型为无符号tinyint,不允许为空,备注为年龄,字段gender类型为枚举(M F N),不允许为空,默认为N,备注为性别

使用的存储引擎为InnoDB,默认字符集为utf8mb4.排序规则为utf8mb4_0900_ai_ci,对student表备注为学生表

create table `student` (

`id` int not null comment '学号',

`name` varchar(45) not null comment '姓名',

`age` tinyint unsigned not null comment '年龄',

`gender` enum('M','F','N') not null default 'N' comment '性别',

primary key (`id`)

) engine=InnoDB default charset=utf8mb4 collate=utf8mb4_0900_ai_ci comment='学生表';

注意:单引号 '...' 是用来包裹字符串常量的 , 反引号 `...` 是用来包裹表名和字段名的

修改表

修改表的名字

rename table stu to stu1;

alter table stu1 rename stu2;

修改数据表编码信息

alter table stu2 charset utf8mb4;

修改表结构命令语法:

在数据表中添加新的表结构字段

alter table <表名> add column <字段名称> <数据类型> <约束与属性> [comment '注释'] [选项参数];

1.追加字段列-单列操作

alter table stu2 add column telno char(11) not null unique key comment '手机号';

2.插入字段列-单列操作

alter table stu2 add column wechat varchar(64) not null unique key comment '微信号' after age;

3.插入首行列-单列操作

alter table stu2 add column sid int not null unique key comment '微信号' first;

4.查看表结构

desc stu2;

在数据表中删除已有表结构字段

alter table <表名> drop column <字段名称>;

alter table stu2 drop column sid;

在数据表中修改已有表结构字段(数据结构 约束 属性)

注意:会导致锁表

alter table <表名> change column <旧字段名称> <新字段名称> <数据类型> <约束与属性> [comment '注释'] [选项参数];

1.修改表结构数据类型(原来有的必须加上)

alter table stu2 modify name varchar(64);

2.修改已有表结构字段列,最后带有保持原有配置的属性信息,否则其他属性信息会被还原为默认

alter table stu2 modify name varchar(64) not null comment '学生名';

3.修改已有表结构字段列(修改表结构字段名称)

alter table stu2 change column name stuname varchar(64) not null comment '学生名';

在数据表中删除已有表结构字段(字段名称 数据类型 约束 属性)

4.查看表结构

alter table <表名> drop index <字段名称>

删除表

数据表删除命令语法: drop table <表名>;

删除表stu(全部删除)

drop table stu;

删除表class中的内容,但是保留定义的表结构信息

truncate table t1;

delete from t2;

查询表

显示当前库有哪些表

show tables;

显示表的表项

desc student;

describe student;

查询表创建时的语句

show create table student;

http://www.lryc.cn/news/580187.html

相关文章:

  • 电机转速控制系统算法分析与设计
  • 微信小程序如何实现再多个页面共享数据
  • 达梦数据库DMHS介绍及安装部署
  • vue/微信小程序/h5 实现react的boundary
  • 使用Spring AOP实现@Log注解记录请求参数和执行时间
  • Linux基础 -- NAND Flash UBIFS基础特性及注意点
  • Adobe Illustrator设置的颜色和显示的颜色不对应问题
  • 新手快速入门Luban+Unity使用
  • OneCode 智能化UI布局与定位:注解驱动的视觉编排艺术
  • 打通线上线下会议室联动的综合解决方案及技术选型
  • Echarts3D柱状图-圆柱体-文字在柱体上垂直显示的实现方法
  • D3 面试题100道之(21-40)
  • 如何查看自己电脑的CUDA版本?
  • 服务器间接口安全问题的全面分析
  • 学习者的Python项目灵感
  • 本地区块链服务在物联网中的应用实例
  • Rust+Blender:打造高性能游戏引擎
  • OneCode图生代码技术深度解析:从可视化设计到注解驱动实现的全链路架构
  • golang 中当 JSON 数据缺少结构体(struct)中定义的某些字段,会有异常吗
  • 【HDMI CEC】 设备 OSD 名称功能详解
  • Rust match 控制流结构
  • 从0开始学习R语言--Day38--辛普森多样性指数
  • 重学前端002 --响应式网页设计 CSS
  • 【网络安全基础】第三章---公钥密码和消息认证
  • <tauri><rust><GUI>使用tauri创建一个文件夹扫描程序
  • 【网络】Linux 内核优化实战 - net.core.flow_limit_table_len
  • C++26 下一代C++标准
  • 深度学习笔记29-RNN实现阿尔茨海默病诊断(Pytorch)
  • 倾斜摄影无人机飞行航线规划流程详解
  • 前端开发-前置知识