【MySQL】库和表的操作

news2024/11/18 11:46:35

目录

一、库的操作

1.1创建数据库

1.2创建数据库案例

1.3字符集和校验规则

(1)查看系统默认字符集以及校验规则

(2)查看数据库支持的字符集 

(3)查看数据库支持的字符集校验规则

(4)校验规则对数据库的影响

1.4操纵数据库

(1)查看数据库

(2)显示创建语句

(3)修改数据库 

(4)数据库删除

1.5备份和恢复 

(1)备份

(2)还原

(3)注意事项

1.6查看连接情况

二、表的操作

2.1创建表

2.2查看表结构

(1)显示所有表

(2)查看表结构

(3)查看表中的数据

2.3修改表

(1)向表中插入数据

(2)在表添加一个成员变量

(3)修改某个成员变量的类型

 (4)删除某个成员变量

 (5)修改表名

(6)修改成员变量名

 2.4删除表


一、库的操作

1.1创建数据库

语法:

create database [if not exists] db_name [create_specification] [create_specification];

注:

  1. create和databese是关键字。
  2. db_name为你想要创建的库的名字。
  3. 句子结尾需要带分号;
  4. create_specification:分为数据库编码集和数据库字符集的校验集
  5. [ ]中的是可选项。

数据库编码集  --  数据库未来存储数据的格式。

数据库校验集  --  支持数据库进行字段比较使用的编码,本质也是一种读取数据库中数据采用的编码格式。

     

1.2创建数据库案例

  • 创建名为 db1 的数据库
create database db1;
说明:
当我们创建数据库没有指定字符集和校验规则时,系统使用默认字符集: utf8 ,校验规则是:utf8_ general_ ci。
   
  • 创建一个使用utf8字符集的db2数据库

create database db2 charset=utf8;

  • 创建一个使用utf字符集,并带校对规则的 db3 数据库。

create database db3 charset=utf8 collate utf8_general_ci;

我们在配置环境一文曾经在配置文件中加过一行关于格式设置的指令:【MySQL】MySQL在Centos7环境下安装_mysql centos_青衫哥的博客-CSDN博客

 作用就是默认创建库使用utf8的格式。

   

1.3字符集和校验规则

(1)查看系统默认字符集以及校验规则

show variables like 'character_set_database' ;
show variables like 'collation_database' ;

(2)查看数据库支持的字符集 

show charset;

字符集主要是控制用什么语言。比如utf8就可以使用中文。

(3)查看数据库支持的字符集校验规则

show collation;

(4)校验规则对数据库的影响

  • 不区分大小写
  • 创建一个数据库,校验规则使用utf8_ general_ ci[不区分大小写]

我们筛选字母a的时候,a和A都会筛选出来。 

   

  • 区分大小写
  • 创建一个数据库,校验规则使用utf8_ bin[区分大小写]
我们再筛选a的时候,只会筛选出a了。

    

1.4操纵数据库

(1)查看数据库

show databases;

(2)显示创建语句

show create database 数据库名;

说明:
  • MySQL 建议我们关键字使用大写,但是不是必须的。
  • 数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字。
  • /*!40100 default.... */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话。

(3)修改数据库 

语法:
alter database db_name 修改内容;

说明: 对数据库的修改主要指的是修改数据库的字符集和校验规则。

例子:

我们将字符集修改为gbk之后,再查看就能看到创建字符集变为了gbk。

(4)数据库删除

drop database [if exists] db_ name;
执行删除之后的结果 :
  • 数据库内部看不到对应的数据库
  • 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删
注意:不要随意删除数据库

  

1.5备份和恢复 

(1)备份

语法:
mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径

注意:是在命令行发送这条指令,不是在数据库中发送。 

这时,可以打开看看 mytest.sql 文件里的内容,其实把我们整个创建数据库,建表,导入数据的语句都装载这个文件中。
  

(2)还原

source 文件路径;

注:这条指令需要在mysql中输入。

输入后会在mysql中执行文件中保存的命令。

(3)注意事项

  • 如果备份的不是整个数据库,而是其中的一张表,怎么做?
 mysqldump -uroot -p   数据库名 表名 1 表名2 > 数据库备份存储的文件路径
  • 同时备份多个数据库
mysqldump -u root -p -B 数据库名 1 数据库名 2 ... > 数据库存放路径
如果备份一个数据库时,没有带上 -B 参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source 来还原。

   

1.6查看连接情况

语法:
show processlist;

可以告诉我们当前有哪些用户连接到我们的 MySQL ,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。

二、表的操作

2.1创建表

语法:

create table table_name (

        field1 datatype,

        field2 datatype,
        field3 datatype
)character set 字符集 collate 校验规则 engine 存储引擎;

注:

  1. table_name是创建的表的名字。
  2. field是创建的成员名。
  3. datatype是类型。
  4. 最后设置字符集、校验规则和存储引擎可以忽略,会设置为我们默认的选择。
  5. 成员类型后面可以接comment ‘内容’ 。

案例:

 我们查看/var/lib/mysql/user_db目录下面,我们可以看到生成了两个文件

 frm存储着表结构,ibd存储着表索引,其实还有一个文件:表数据,这里因为使用的引擎是innodb,所以表数据和表结构存储在了一起。

    

2.2查看表结构

(1)显示所有表

show tables;

(2)查看表结构

desc 表名;

案例:

(3)查看表中的数据

select * from 表名;

      

2.3修改表

在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。
   

(1)向表中插入数据

insert into 表名  values ( 数据1 );

案例:

既可以单条插入,也可以多条插入。 

(2)表添加一个成员变量

alter table 表名  add 成员名 类型 (after 成员);

注:加了after可以指定加在某个成员后面,如果不加默认加到最后。

案例:

(3)修改某个成员变量的类型

alter table 表名 modify 成员名 类型;

 案例:

 (4)删除某个成员变量

alter table 表名 drop 成员名;

案例:

 (5)修改表名

 alter table 表名 rename 新表名;

案例:

(6)修改成员变量名

 alter table 表名 change 成员名 新成员名 类型;

 2.4删除表

语法格式:

drop table [if not exists] 表名1,表名2......;

案例:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/788709.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

万向节死锁

要理解万向节死锁的产生原因,首先要理解欧拉角变换,欧拉角变换是基于最初始的坐标进行变换而非变换后的坐标进行变换。 欧拉角变换需要空间中的三个角(即变换后每个轴的偏移量),另外还有每个轴的变换顺序。值得注意的…

SpringSecurity6--认证和授权的原理

SpringSecurity6–认证和授权的原理,项目gitee地址在文章末尾。 文章目录 一、Spring Security简介二、Spring Security框架中认证流程中几个非常重要的类1、 FilterChainProxy2、 AbstractAuthenticationProcessingFilter3、 UsernamePasswordAuthenticationFilter…

打开Android device monitor

X:\assdk\tools monitor.bat 双击 更新到最新

如何优雅地下载huggingface上模型,以llama2模型下载为例

背景 由于llama2模型的下载需要经过官方的授权,这就需要登陆hugging face的,对模型页面进行申请。等待审核通过后,才能够下载。如果在单纯用 git lfs 的方式进行下载,需要输入账号和密码。为了更快速地进行下载,既能够…

Java刷题记录(小白边刷边学)7.25

Java刷题记录(小白边刷边学)7.25 1 最长公共前缀 题目分析: 首先一定需要创建一个数组存储最长公共前缀的值 为了方便比较,先把strs的第一个字符串放进新的数组中即strs[0] 因此比较时从strs【1】开始 数字j需要小于两个被比较的字符串的长度…

视频超分新方法--助力实现高清wav2lip数字人

文章目录 前言一、解决方案详解总结前言 ` 随着人工智能的不断发展,数字人技术也越来越重要,很多人都开启了学习模型 但是使用神级模型wav2lip生成的数字人嘴部不清晰怎么办。 很影响使用效果,接下来教大家如何优化这个问题,如下图所示: 一、解决方案详解 因为wav2lip是…

Centos8+Jenkins+微信小程序前端自动发布体验版

文章目录 **一、 实现:****二、项目:****三、环境配置:****四、步骤:****五、遇到的问题** 一、 实现: jenkins打通微信开发平台,自动上传代码 二、项目: 微信小程序原生开发 三、环境配置&…

PowerPoint如何修改“默认保存路径”?

很多时候,我们做好PPT后都要保存,一般会保存在创建PPT的文件夹里,或者另外设置保存的路径。 如果经常需要制作PPT,又不想每次都要重新选择保存位置,我们可以创建或修改“默认保存路径”,这样每次关闭PPT后…

集群及LVS简介、LVSNAT模式原理、LVSNAT模式配置、LVSDR模式原理、LVSDR模式配置、LVS错误排查

day01 day01集群LVS配置LVS NAT模式配置LVS NAT模式步骤LVS DR模式配置LVS DR模式 集群 将很多机器组织到一起,作为一个整体对外提供服务 集群在扩展性、性能方面都可以做到很灵活 集群分类: 负载均衡集群:Load Balance高可用集群&#x…

wangeditor编辑器配置

vue项目中使用编辑器&#xff0c;轻量&#xff0c;操作栏选取自己需要的 官网地址&#xff1a;用于 Vue React | wangEditor 使用在vue项目中引入 npm install wangeditor/editor --savenpm install wangeditor/editor-for-vue --save 封装成组件使用 <template>&…

[LitCTF 2023]作业管理系统

打开环境后是一个登录框&#xff0c;还以为是sql注入&#xff0c;但是尝试之后没有回显&#xff0c;尝试一下弱密码爆破咯 爆出都是admin 进入后可以看到很多选项&#xff0c;都是可以访问的 &#xff0c;说明这道题还有很多解决方法 我们可选择上传文件&#xff0c;没有任何过…

STM32CubeIDE(外部中断)

目录 一、配置时钟树 二、配置IO 三、配置中断优先级 四、当发生外部中断时会进入中断服务函数 一、配置时钟树 二、配置IO 三、配置中断优先级 四、当发生外部中断时会进入中断服务函数

Stable Diffusion本地化部署,实现免费的AI绘制图片

利用Claude进行问答&#xff0c;首先我们询问如何进行AI画图&#xff1a; 我们得到了答案&#xff0c;这里我们问问第三个的网址&#xff1a; 由于在线的都需要收费和限制次数&#xff0c;所以问问有没有本地化的项目&#xff1a; 这里我们得到了答案&#xff0c;前面两个链…

flutter开发实战-jsontodart及 生成Dart Model类

flutter开发实战-jsontodart及 生成Dart Model类。 在开发中&#xff0c;经常遇到请求的数据Json需要转换成model类。这里记录一下Jsontodart生成Dart Model类的方案。 一、JSON生成Dart Model类 在开发中经常用到将json转成map或者list。通过json.decode() 可以方便 JSON 字…

mysql主从复制 读写分离

目录 1.主从复制类型 2.主从复制工作流程(原理) 3.mysql三种同步方式 4.案例 1.主从复制类型 基于语句的复制 基于行的复制 混合类型的复制 2.主从复制工作流程(原理) 两日志 三线程 收到数据主放入二进制日志中 从服务器通过io线程发送请求进入主的dump线程…

element实现角色管理页面

用的element&#xff0c;Tree 树形控件来实现的 <template><div class"p-t-20"><div class"table-bg"><Title title"角色名称"><span>{{role.roleName}}</span></Title><div class"menu-lis…

数学建模-主成分分析

有很多变量并且变量之间有很强的关联关系时使用&#xff0c;解决多重共线性问题没必要进行降维信息损失后然后进行评分&#xff0c;TOPSIS可以直接利用所有数据。指标有各种类型&#xff0c;没有进行正向化

【GoLang】MAC安装Go语言环境

小试牛刀 首先安装VScode软件 或者pycharmmac安装brew软件 brew install go 报了一个错误 不提供这个支持 重新brew install go 之后又重新brew reinstall go 使用go version 可以看到go 的版本 使用go env 可以看到go安装后的配置 配置一个环境变量 vim ~/.zshrc, # bre…

简单的SQL注入

SQL注入攻击是通过操作输入来修改SQL语句&#xff0c;用以达到执行代码对WEB服务器进行攻击的方法。简单的说就是在post/getweb表单、输入域名或页面请求的查询字符串中插入SQL命令&#xff0c;最终使web服务器执行恶意命令的过程。可以通过一个例子简单说明SQL注入攻击。假设某…