Mysql数据库的管理

news2024/11/27 17:46:29

文章目录

  • 一、数据库的基本操作
    • 1、登录数据库
    • 2、创建数据库并进入数据库
    • 3、查看数据库结构
    • 4、常用的数据库类型
    • 5、char和varchar的区别
  • 二、Mysql数据文件
  • 三、SQL语句
    • 1、SQL语言分类
    • 2、DDL数据定义语言
      • 1.创建新的数据库
      • 2.创建新的表、查看数据表的结构
      • 3.删除指定数据表
      • 4.删除指定数据库
    • 3、DML管理表中的数据记录 ---- 数据操纵语言,用于对表中的数据进行管理,用来插入、删除和修改数据库中的数据
      • 1.向数据表中插入新的内容
      • 2.修改、更新表中的数据
      • 3.在数据表中删除指定的数据记录
    • 4、DQL数据查询语言
    • 5、DCL数据控制语言
      • 1.修改表名
      • 2.修改表结构(*切记只有在有需求的情况下才修改,一般不会改动。*)
      • 3.修改字段(列)名,添加唯一键
      • 4.删除字段
      • 6.EXISTS
  • 总结


一、数据库的基本操作

1、登录数据库

在这里插入图片描述

2、创建数据库并进入数据库

在这里插入图片描述

3、查看数据库结构

1.查看数据库信息
在这里插入图片描述
2.查看数据库中包含的表

USE 数据库名;   #切换到库数据库里;
show tables;   #查看数据库里的表;
show tables in mysql;   不用切换可以直接查看数据库里的表;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、常用的数据库类型

int整型
float单精度浮点4字节32位
double双精度浮点8字节64位
char固定长度的字符类型
varchar可变长度的字符类型
text文本
image图片
decimal(5,2)5个有效长度数字,小数点后面有2位

5、char和varchar的区别

对char来说,最多能存放字符个数255个,char如果存入数据的实际长度比指定长度要小 会补空格至指定长度。如果存入的数据的实际长度大于指定长度 低版本会被截取,高版本会报错

char的长度是不可变的,而varchar的长度是可变的,也就是说,定义一个char[10]和varchar[10],如果存进去的是‘csdn’,那么char所占的长度依然为10,除了字符‘csdn’外,后面跟六个空格,而varchar就立马把长度变为4了

varchar存储规则:

4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节)
5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65535字节

二、Mysql数据文件

​MysQL数据库的数据文件存放在**/usr/local/mysql/data**目录下,每个数据库对应一个子目录,用于存储数据表文件。每个数据表对应为三个文件,扩展名分别为".frm"、“.MYD"和”.MYI”。

1、MYD文件
MYD文件是MyISAM存储引擎专用,存放MyISAM表的数据。每一个MyISAw表都会有一个"“.MYD"文件与之对应,同样存放于所属数据库的文件夹下,和”.frm"文件在一起。

2、MYI文件
“.MYI"文件也是专属于MyISAM存储引擎的,主要存放MyISAM表的索引相关信息。对于MyISAM4存储来说,可以被 cache 的内容主要就是来源于”.MYI"文件中。每一个MyISAM表对应一个".MYI”文件,存放于位置和".frm"以及".MYD”一样。

3、frm文件
用于存储表的结构定义和元数据信息。这些文件包含表的字段、索引、约束等信息。

4、MyISAM存储引擎
MyISAM存储引擎的表在数据库中,每一个表都被存放为三个以表名命名的物理文(frm,myd,myi)。每个表都有且仅有这样三个文件做为MyISAM

存储类型的表的存储,也就是说不管这个表有多少个索引,都是存放在同一个.MYI文件中。

三、SQL语句

​SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能。

1、SQL语言分类

DDL 数据定义语言,用于创建数据库对象,如库、表、索引等
DML 数据操纵语言,用于对表中的数据进行管理
DQL 数据查询语言,用于从数据表中查找符合条件的数据记录
DCL 数据控制语言,用于设置或者更改数据库用户或角色权限

2、DDL数据定义语言

用于创建数据库对象,如库、表、索引等

creat
drop
alter

1.创建新的数据库

CREATE DATABASE 数据库名;

在这里插入图片描述

2.创建新的表、查看数据表的结构

CREATE TABLE 表名 (字段1 数据类型,字段2 数据类型[,...][,PRIMARY KEY (主键名)]);

注:主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键。

例:create table wangwu;
use wangwu;
create table wangwu (id int(10) NOT NULL,name varchar(20) NOT NULL, score decimal(5,3),passwd char(48) DEFAULT'',PRIMARY KEY (id));

在这里插入图片描述
在这里插入图片描述

DESCRIBE [数据库名.]表名; 
可缩写成:DESC 表名;

在这里插入图片描述

3.删除指定数据表

1、删除指定的数据据表:

use 数据库名
DROP TABLE 表名;
 
DROP TABLE [数据库名].表名;

在这里插入图片描述
2、不切换删除数据表

drop table 数据库名.表名;  #删除数据库中的表;

在这里插入图片描述

4.删除指定数据库

DROP DATABASE 数据库名;

在这里插入图片描述

3、DML管理表中的数据记录 ---- 数据操纵语言,用于对表中的数据进行管理,用来插入、删除和修改数据库中的数据

insert   #插入字段;
update   #更新,修改字段;
delete   #删除字段:

1.向数据表中插入新的内容

格式:
第一种:
INSERT INTO 表名(字段1,字段2[,...]) VALUES(字段1的值,字段2的值,...);

示例:
INSERT INTO zsf1  (id,name,score,passwd) values(1,'lisi',85.6,PASSWORD('123456'));
#PASSWORD('123456'):查询数据记录时,密码字串以加密形式显示:若不使用PASSWORD(),查询时以明文显示。

在这里插入图片描述

第二段:
INSERT INTO zzz VALUES(2,'lisi',90.5,654321) ;
SELECT * FROM zzz ;      #查询表的数据记录

在这里插入图片描述

2.修改、更新表中的数据

格式:
UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] [WHERE 条件表达式];

示例:
UPDATE zzz SET passwd=PASSWORD('') WHERE name='zhangsan';
UPDATE zzz SET name='wangxiaoer',passwd='' WHERE id=3;


mysql> select * from zsf1;
+----+----------+--------+-------------------------------------------+
| id | name     | score  | passwd                                    |
+----+----------+--------+-------------------------------------------+
|  1 | lisi     | 85.600 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
|  2 | kaihuang | 90.500 | 789654                                    |
+----+----------+--------+-------------------------------------------+
2 rows in set (0.00 sec)

mysql> update zsf1 set passwd=PASSWORD('') where name='lisi';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from zsf1;
+----+----------+--------+--------+
| id | name     | score  | passwd |
+----+----------+--------+--------+
|  1 | lisi     | 85.600 |        |
|  2 | kaihuang | 90.500 | 789654 |
+----+----------+--------+--------+
2 rows in set (0.00 sec)

在这里插入图片描述
在这里插入图片描述

3.在数据表中删除指定的数据记录

第一种,删除指定的一条记录;
在数据表中删除指定的数据记录
格式:
DELETE FROM 表名 [WHERE 条件表达式];

示例:
DELETE FROM zzz WHERE id=4;

在这里插入图片描述

在数据表中修改指定的数据记录
格式:
DELETE FROM 表名 [WHERE 条件表达式];

示例:
DELETE FROM zzz WHERE id=1;

在这里插入图片描述

4、DQL数据查询语言

select name from zsf1\G         #以列表方式竖向显示
select * from zsf1 limit 2;      #只显示头2行
select * from zsf1 limit 2,3;    #显示第2行后的前3行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、DCL数据控制语言

修改表名和表结构

1.修改表名

ALTER TABLE 旧表名 RENAME 新表名;

例:
ALTER TABLE zzz RENAME yyy;
ALTER TABLE yyy RENAME zzz;

在这里插入图片描述

2.修改表结构(切记只有在有需求的情况下才修改,一般不会改动。

mysql> desc asd;
+--------+--------------+------+-----+---------+-------+
| Field  | Type         | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+-------+
| id     | int(11)      | NO   | PRI | NULL    |       |
| name   | char(20)     | NO   |     | NULL    |       |
| score  | decimal(5,3) | YES  |     | NULL    |       |
| passwd | char(50)     | YES  |     |         |       |
+--------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

mysql> alter table asd add address varchar(50) default'地址不详';
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc asd;
+---------+--------------+------+-----+--------------+-------+
| Field   | Type         | Null | Key | Default      | Extra |
+---------+--------------+------+-----+--------------+-------+
| id      | int(11)      | NO   | PRI | NULL         |       |
| name    | char(20)     | NO   |     | NULL         |       |
| score   | decimal(5,3) | YES  |     | NULL         |       |
| passwd  | char(50)     | YES  |     |              |       |
| address | varchar(50)  | YES  |     | 地址不详     |       |
+---------+--------------+------+-----+--------------+-------+
5 rows in set (0.00 sec)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.修改字段(列)名,添加唯一键

ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型 [unique key];

ALTER TABLE yyy CHANGE name user_name varchar(10) unique key;
#CHANGE可修改字段名、数据类型、约束等所有项。desc

mysql> desc asd;
+---------+--------------+------+-----+--------------+-------+
| Field   | Type         | Null | Key | Default      | Extra |
+---------+--------------+------+-----+--------------+-------+
| id      | int(11)      | NO   | PRI | NULL         |       |
| name    | char(20)     | NO   |     | NULL         |       |
| score   | decimal(5,3) | YES  |     | NULL         |       |
| passwd  | char(50)     | YES  |     |              |       |
| address | varchar(50)  | YES  |     | 地址不详     |       |
+---------+--------------+------+-----+--------------+-------+
5 rows in set (0.00 sec)

mysql> alter table asd change name user_name varchar(20) unique key;
Query OK, 5 rows affected (0.01 sec)
Records: 5  Duplicates: 0  Warnings: 0

mysql> desc asd;
+-----------+--------------+------+-----+--------------+-------+
| Field     | Type         | Null | Key | Default      | Extra |
+-----------+--------------+------+-----+--------------+-------+
| id        | int(11)      | NO   | PRI | NULL         |       |
| user_name | varchar(20)  | YES  | UNI | NULL         |       |
| score     | decimal(5,3) | YES  |     | NULL         |       |
| passwd    | char(50)     | YES  |     |              |       |
| address   | varchar(50)  | YES  |     | 地址不详     |       |
+-----------+--------------+------+-----+--------------+-------+
5 rows in set (0.00 sec)

在这里插入图片描述

4.删除字段

格式:
ALTER TABLE 表名 DROP 字段名;

示例:
ALTER TABLE yyy DROP passwd;

mysql> desc asd;
+-----------+--------------+------+-----+--------------+-------+
| Field     | Type         | Null | Key | Default      | Extra |
+-----------+--------------+------+-----+--------------+-------+
| id        | int(11)      | NO   | PRI | NULL         |       |
| user_name | varchar(20)  | YES  | UNI | NULL         |       |
| score     | decimal(5,3) | YES  |     | NULL         |       |
| passwd    | char(50)     | YES  |     |              |       |
| address   | varchar(50)  | YES  |     | 地址不详     |       |
+-----------+--------------+------+-----+--------------+-------+
5 rows in set (0.00 sec)

mysql> alter table asd drop address;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc asd
    -> ;
+-----------+--------------+------+-----+---------+-------+
| Field     | Type         | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| id        | int(11)      | NO   | PRI | NULL    |       |
| user_name | varchar(20)  | YES  | UNI | NULL    |       |
| score     | decimal(5,3) | YES  |     | NULL    |       |
| passwd    | char(50)     | YES  |     |         |       |
+-----------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

在这里插入图片描述在这里插入图片描述

6.EXISTS

1、if not exists 表示检测要创建的表是否已存在,如果不存在就继续创建;

2、int(4) zerofill 表示若数值不满4位数,则前面用“0”填充,例0001;

3、auto_increment 表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增;自增长字段数据不可以重复;自增长字段必须是主键;如添加的记录数据没有指定此字段的值且添加失败也会自动递增一次;

4、unique key 表示此字段唯一键约束,此字段数据不可以重复;一张表中只能有一个主键, 但是一张表中可以有多个唯一键;

5、not null 表示此字段不允许为NULL;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


总结

MySQL的基本操作包括查看数据库结构,创建及删除库和表、管理表中的数据记录。

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

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

相关文章

2015年:筛选链表

3756. 筛选链表 一个单链表中有 m 个结点,每个结点上的元素的绝对值不超过 n 。 现在,对于链表中元素的绝对值相等的结点,仅保留第一次出现的结点而删除其余绝对值相等的结点。 请输出筛选后的新链表。 例如,单链表 21 ->…

Opencv入门必读知识

目录 前言 什么是Opencv? 0、预备知识 导入模块的方式 颜色空间 绝对路径与相对路径 国内镜像源 Python环境的安装 PIP命令下载第三方库 pip命令下载 Pycharm设置解释器下载 conda命令下载 pip不是外部和内部命令 1、调用Opencv的API (1&a…

数据库应用:MySQL备份与恢复

目录 一、理论 1.数据备份 2.完全备份与恢复 3.完全备份与恢复应用 4.增量备份与恢复 5.增量备份与恢复应用 6.使用脚本备份 7.日志管理 二、实验 1.完全备份与恢复 2.增量备份与恢复 3.使用脚本备份 三、问题 1.mysqldump报错 四、总结 一、理论 1.数据备份 …

2、算法好坏的衡量尺度

上一讲我们大概说明了数据在内存中的存储方式。这里我们说一下算法性能评价的角度。 我们说一个算法是否高效,一般会从两个角度来评价,即 时间复杂度 和 空间复杂度。 时间复杂度的计量单位是语句运行次数。常用的符号表示是O(x)。这里的x可以是不同的…

EXCEL里如何判断多个单元格/数据相等的小技巧

目录 1 问题:EXCEL里如何判断多个数据相等 2 错误方法 ABCD... 3 正确方法1 countif() 4 正确方法2: {and(exact())} 1 问题:EXCEL里如何判断多个数据相等 有时候,我们可能需要判断10个数据相等这时候写嵌套,或者…

常用API学习04(Java)

System System类包含几个有用的类字段和方法。它不能被实例化。System类提供的System包括标准输入,标准输出和错误输出流;访问外部定义的属性和环境变量;一种加载文件和库的方法;以及用于快速复制阵列的一部分的实用方法. public static void exit(int status) …

WEB:easytornado

背景知识 Tornado 题目 一个一个点击尝试吧 /flllllllllag这个文件,估计是flag 发现了render,render是渲染HTML页面用到的函数。 发现加密方式是MD5值是文件名的MD5加上cookie_secret这个值,之后再MD5加密 获取cookie_secret的值 http://…

【输入法篇】PC微软输入法自定义短语的高级操作

【输入法篇】PC微软输入法自定义短语的高级操作 PC微软输入法自带的剪贴板,可设置常用高频词组、信息等。关键词唤起,告别重复粘贴,类似手机输入法剪贴板功能。—【蘇小沐】 文章目录 【输入法篇】PC微软输入法自定义短语的高级操作1.实验环…

kibana中添加spaces空间

目的 当需要对kibana中索引数据进行分组分区管理,如不同团队,不同业务等。可以同过kibana中的spaces空间进行分组展示。 操作 management>Spaces>create a space 填写name(自定义图标)>Customize feature display自定义…

Adaptive Graph Convolutional Subspace Clustering

基于图卷积算子的表示: 根据增广拉格朗日方法得出: 整个算法的步骤如下: 实验结果:

互联网时代个人信息安全:便利和担忧并存

文章目录 每日一句正能量前言一、互联网生存指南:通过哪些方法来加强个人信息保护?二、个人信息保护与数字经济发展的关系应该如何平衡?三、互联网公司如何处理数据隐私?四、如何加强个人隐私教育和意识?后记 每日一句…

取代抖音的下一个模式是什么?

现在抖音平台的发展还是很不错的,它通过短视频为基础不断发展其他方面的业务,比如电商,金融等,而抖音未来的发展将会越来越缓慢,这时候就可能出现下一个取代抖音的模式,是什么呢? 目前还无法预测…

dp算法篇Day8

"留下一首痛斥我的歌" 36、最长回文子串 (1) 题目解析 针对这一类回文串的动规问题得出该题解的状态表达式,不是经验题目要求,以什么位置为结尾…… 因为,这样定义的状态表达式是得不出求不出转移方程的。 (2) 算法原理 class Sol…

初识mysql数据库之索引概念与磁盘效率问题

目录 一、索引的概念及作用 二、实际看看索引的效率提升 三、认识磁盘 1. 简单了解磁盘 2. 数据库文件存储位置 3. 定位扇区 4. 数据读取效率问题 5. 磁盘随机访问与磁盘连续访问 5.1 随机访问 5.2 连续访问 四、mysql与磁盘的交互 五、建立共识 一、索引的概念及…

讯为RK3568开发板到手编译buildroot系统入坑一

从事单片机开发多年一直想买一个开发板学习Linux系统,这次狠心花了800多打样买了一个讯为的RK3568低配。裸板配置。 因为讯为没有编译系统的视频教程,只有文档的教程,而且只有瑞芯微官方带的Linux源码中的系统编译后文档教程。像ubuntu是没有…

网络编程Java Socket(UDP/TCP 套接字)

Socket是什么? 想知道Socket是什么就先得了解一下什么是网络编程 网络编程,通过代码来控制两个主机的进程之间能够进行数据交互。 操作系统就把网络编程的一些相关操作,封装起来了,提供了一组API供程序员使用。操作系统提供的功能…

Windows NT 驱动程序的编译、安装、调试

Windows NT 驱动程序的编译、安装、调试 Windows NT 驱动介绍NT 驱动代码分析编译安装修改注册表进行安装使用工具 DriverMonitor 进行打开加载安装 调试 Windows NT 驱动介绍 Windows 驱动分为两类,一类是从 Windows NT 遗留下来的驱动模型称为传统的 Windows NT …

1、Winform项目创建

项目创建的过程时比较简单的,要点在于选择基本库。 这里我们选择.Netframework 4.7.2,为什么使用这个呢?因为这个大多数windows系统上都装的有。如果使用.Net Core什么的,可能还需要再下载对应的运行库,影响用户体验。 具体步骤如下: 选择创建新项目 选择创建桌面应用…

RabbitMQ如何保证消息的可靠性6000字详解

RabbitMQ通过生产者、消费者以及MQ Broker达到了解耦的特点,实现了异步通讯等一些优点,但是在消息的传递中引入了MQ Broker必然会带来一些其他问题,比如如何保证消息在传输过程中可靠性(即不让数据丢失,发送一次消息就…