从零开始学 MySQL—数据库和数据表操作
off999 2025-09-21 21:05 13 浏览 0 评论
前言
今天我们学习下核心的内容,学习并实践如何对数据库表和表中的内容做修改,删除,重命名等操作。(想看看周末还有多少爱学习的小伙伴,你们在哪里呀,O(∩_∩)O哈哈~)
1、目录
- 数据库操作:删除数据库、修改数据库。
- 数据表操作:重命名表、删除表、指定位置增加一列数据、删除一列、重命名一列、更改数据类型、删除一行记录。
2、步骤
本节将通过实践操作,带领大家熟悉数据库的修改和删除操作。
在正式开始本实验内容之前,需要先下载相关代码。
该代码可以新建两个数据库,分别名为 test 和mysql_shiyan ,并在 mysql_shiyan 数据库中建 4 个表(department,employee,project,table_1),然后向其中插入数据。
其中创建数据库和数据表语句可以在这里下载。
https://github.com/rongweihe/MoreThanCode/tree/master/mysql_shiyan下载完成后,输入命令开启 MySQL 服务并使用 root 用户登录:
#打开 MySQL 服务
sudo service mysql start
#使用 root 用户登录
mysql -u root下载的 SQL5 目录下,有 1 个文件 MySQL_05_01.sql 。
注意:如果之前的mysql_shiyan还存在,可以先使用 drop database mysql_shiyan 删除。加载你下载的文件中的数据,假如你下载在 home 目录下,则需要在 MySQL 控制台中输入命令,完成实验准备:
source /home/MySQL_05_01.sql;3、数据库操作
使用命令 SHOW DATABASES; 可以看到刚才运行MySQL_05_01.sql 文件生成的两个数据库:
现在我们运行命令删除名为 test 的数据库:DROP DATABASE test;现在再次使用命令 SHOW DATABASES; 可以发现,test 数据库已经被成功删除:
关于修改数据库:目前 MySQL 没有提供修改数据库名称的方法,因为这曾导致一系列安全的问题。在老版本中 RENAME DATABASE 可以修改数据库名称,在后续的实验中,官方应该发现这条命令所带来的危险,所以在目前 MySQL 5.1.23 版本及以后中把这条命令移除了。
网上有人说如果是 MySQL 存储引擎是 MyISAM 的话,只要修改 DATA 目录下面的那个库名的文件夹的名字就可以修改了,这个我没有试过,大家可以试一下看看能不能修改。
事实上,数据库名几乎不会遇到必须修改的情况,如果你一定要这么做,比较安全的做法是重新建一个新库,然后将旧库中的数据转移到新库中,并且暂时不要删除旧的数据库,以防数据遗失。
【文章福利】另外小编还整理了一些C++后端开发面试题,教学视频,后端学习路线图免费分享,需要的可以自行添加:学习交流群点击 正在跳转 加入~群文件共享
小编强力推荐C++后端开发免费学习地址:C/C++Linux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂
3.1 重命名表
重命名一张表的语句有多种形式,以下 3 种格式效果是一样的:
RENAME TABLE 原名 TO 新名字;
ALTER TABLE 原名 RENAME 新名;
ALTER TABLE 原名 RENAME TO 新名;进入数据库 mysql_shiyan :
use mysql_shiyan使用命令尝试修改 table_1 的名字为 table_2 :
RENAME TABLE table_1 TO table_2;3.2 删除表
删除一张表的语句,类似于刚才用过的删除数据库的语句,格式是这样的:
DROP TABLE 表名字;比如我们把 table_2 表删除;
DROP TABLE table_2;3.3 增加一列
对表结构的修改,会实际影响数据表的结构,有时候一些小的错误会造成不可挽回的后果,所以谨慎细心操作。在实际生产环境中,一定要得到上级领导的许可,否则不要轻易修改。
我们来看看,在表中增加一列的语句格式为:
ALTER TABLE 表名字 ADD COLUMN 列名字 数据类型 约束;
ALTER TABLE 表名字 ADD 列名字 数据类型 约束;现在 employee 表中有 id、name、age、salary、phone、in_dpt 这6个列,我们尝试加入 height (身高)一个列并指定 DEFAULT 约束:
ALTER TABLE employee ADD height INT(4) DEFAULT 170;可以发现:新增加的列,被默认放置在这张表的最右边。如果要把增加的列插入在指定位置,则需要在语句的最后使用 AFTER 关键词 (“AFTER 列1” 表示新增的列被放置在 “列1” 的后面)。
提醒:语句中的 INT(4) 不是表示整数的字节数,而是表示该值的显示宽度,如果设置填充字符为 0,则 170 显示为 0170
比如我们新增一列 weight(体重) 放置在 age(年龄) 的后面:
ALTER TABLE employee ADD weight INT(4) DEFAULT 120 AFTER age;上面的效果是把新增的列加在某位置的后面,如果想放在第一列的位置,则使用 FIRST 关键词,如语句:
ALTER TABLE employee ADD test INT(10) DEFAULT 11 FIRST;效果如下:
3.4 删除一列
删除表中的一列和刚才使用的新增一列的语句格式很相似,只是把关键词 ADD 改为 DROP ,语句后面不需要有数据类型、约束或位置信息。具体语句格式:
ALTER TABLE 表名字 DROP COLUMN 列名字;
或:ALTER TABLE 表名字 DROP 列名字;我们把刚才新增的 test 删除:
ALTER TABLE employee DROP test;3.5 重命名一列
准确地说,重命名这条语句它是对一个列做修改(CHANGE) :
ALTER TABLE 表名字 CHANGE 原列名 新列名 数据类型 约束;注意:这条重命名语句后面的 “数据类型” 不能省略,否则重命名失败。
当原列名和新列名相同的时候,指定新的数据类型或约束,就可以用于修改数据类型或约束。需要注意的是,修改数据类型可能会导致数据丢失,所以也需要慎重使用。
我们用这条语句将 “height” 一列重命名为汉语拼音 “shengao” ,效果如下:
ALTER TABLE employee CHANGE height shengao INT(4) DEFAULT 170;3.6 改变数据类型
要修改一列的数据类型,除了使用刚才的 CHANGE 语句外,还可以用这样的 MODIFY 语句:
ALTER TABLE 表名字 MODIFY 列名字 新数据类型;这里需要十分以及特别提醒下,修改数据类型必须小心,因为这可能会导致你的数据丢失。
最好是在创建线上数据库之前,考虑好清楚数据的类型,可以创建一个临时数据库操作数据看看有没有达到预期,确认没有问题在创建线上数据库。在尝试修改数据类型之前,一定要慎重考虑操作可能带来的后果。
3.7 修改表中某个值
很多时候我们需要做修改的不会是整个数据库或整张表,而是表中的某一个或几个数据,这就需要我们用下面这条命令达到精确的修改:
UPDATE 表名字 SET 列1=值1,列2=值2 WHERE 条件;比如说,最近小伟同学呢,由于工作业绩比较突出,公司给他涨工资了,那么要把 xiaowei 的 salary 改为 20000,就可以这样写:
UPDATE employee SET age=25 ,salary=20000 WHERE name='xiaowei';注意:一定要有 WHERE 条件,否则会出现不想看到的后果
3.8 删除一行记录
删除表中的一行数据,也必须加上 WHERE 条件,否则整列的数据都会被删除。删除语句:
DELETE FROM 表名字 WHERE 条件;我们尝试把 xiaohong 的数据删除:
DELETE FROM employee WHERE name='xiaohong';数据库里面已经没有了 xiaohong 了。
4、总结
在本节实验中我们学习了对数据库、数据库表、数据库表项及记录的修改和删除方法。
参考资料
推荐一个零声教育C/C++后台开发的免费公开课程,个人觉得老师讲得不错,分享给大家:C/C++后台开发高级架构师,内容包括Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,C/C++Linux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂 立即学习
原文:从零开始学 MySQL -- 数据库和数据表操作
相关推荐
- win10激活在哪里查看(win10激活时间在哪里看)
-
在Windows10中,您可以通过以下方法查看激活状态:方法1:使用“设置”应用1.点击屏幕左下角的“开始”按钮,然后点击“设置”(齿轮图标)。2.在设置窗口中,点击“系统”图标。3.在“系统...
- 官方win10dll文件修复工具(官方win7dll文件修复工具)
-
当电脑丢失dll文件时,可以采用以下几种方法进行一键修复:从回收站还原:如果是不小心误删了一些计算机文件,导致电脑出现异常的情况时,首先就可以去回收站找回dll文件,如果文件还在,就可以通过还原操作来...
- qq所有历史旧版本大全(qq历史版本一览表)
-
有2种方法。一种是:你是QQ会员。你可以把旧版打开,聊天记录上传。然后打开新的QQ,下载。第2种是:你在硬盘上装了QQ软件,然后你就点卸载(uninst),把原来的卸了。然后按原位置覆盖,装上06版。...
- 电脑显示器分辨率怎么调(显示分辨率无法调整)
-
1、以win7为例,首先右键点击桌面,在右键菜单中直接显示了屏幕分辨率的选项,用鼠标点击一下这个选项。2、在分辨率设置选项页面中,有一个分辨率的选项,点击一下这个选项,上面默认显示的数值是你现在的屏幕...
- 8系统(8系统点检控制包含什么)
-
WIndows8系统是微软目前最新的操作系统,Moto的图形界面设计,使很多已经习惯于早期windows系统的用户难以接受,Windows8是一个向平板和桌面系统妥协的产物,存在着相当多的利弊。...
- 电脑软件管家(电脑软件管家在哪里找到)
-
电脑管家有着最大的安全云库,全新的杀毒引擎,深度清理电脑垃圾,为电脑重回巅峰状态,更有账号宝专版,10倍提升QQ防盗号能力,是很好用的。就自己而言,在电脑上用的是腾讯电脑管家这个第三方系统安全软件,管...
- 迅雷种子搜索器(迅雷种子搜索器手机版下载)
-
迅雷种子搜索方法: 1.在开始菜单栏或者到文件的安装路径文件夹中找到P2P种子搜索器。&nb...
- 手机怎么解压文件(苹果手机怎么解压文件)
-
手机解压文件方法:1、首先,在手机中找到文件管理,打开文件管理。2、打开文件管理之后找到压缩包,然后打开。3、打开安装包之后,选择需要的文件,。4、接下来找到“解压至”,点击“解压至”。5、点击之后,...
- 虚拟机安装centos7(虚拟机安装centos7图形界面)
-
安装CentOS7在虚拟机中,您可以按照以下步骤操作:1.下载CentOS7的ISO映像文件。2.打开虚拟机软件(如VMware、VirtualBox等)并创建一个新的虚拟机。3.在虚拟机创...
- 电脑老是重启(电脑老是重启什么原因造成的)
-
电脑由于工作环境积尘与空气湿度过大,经常使主板的接插件部分受潮产生氧化;特别是内存条插座、PCI扩展槽、键盘鼠标接口、LOT接口、CMOS电池压盒、ATX电源插座等。一旦它们出现接触不良现象,很容易出...
- win8系统怎么重装系统(win8.1系统重装教程)
-
1、修改Cortana资源占用:按Windows按钮,输入regedit,打开注册表编辑器,找到以下路径:HKEY_LOCAL_MACHINE—SYSTEM—CurrentControlSet—Ser...
- 手机163邮箱app下载(163邮箱下载手机版官网 app)
-
163邮箱登录首页入口为http://mail.163.com/网易163免费邮箱--中文邮箱第一品牌.容量自动翻倍,支持50兆附件,免费开通手机号码邮箱赠送3G超大附件服务.支持各种客户端软件收发,...
-
- win10此电脑怎么放在桌面上(wind10此电脑放桌面)
-
步骤/方式1右键单击桌面空白处,点击个性化。步骤/方式2点击更改桌面图标。步骤/方式3把计算机勾选上。步骤/方式4即可把此电脑图标显示在桌面上。...
-
2025-11-08 14:03 off999
- 电脑配置怎么看在电脑上(电脑配置在电脑里怎么看)
-
查看电脑配置的方法有多种,以下是一些常见的方法:直接查看:在电脑桌面或操作系统中,找到“我的电脑”或“此电脑”,右键点击并选择“属性”,即可查看电脑的基本配置信息,包括CPU型号、内存大小、硬盘类型和...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
慕ke 前端工程师2024「完整」
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
