Mysql数据库值的添加、修改、删除及清空操作实例


Posted in MySQL onJune 20, 2021

3、MySQL数据管理

第一种方式:不太建议,看起来复杂些

-- 学生表的 gradeid 字段,要去引用 年级表的 gradeid
-- 定义外键key
-- 给这个外键添加约束,(执行引用),REFERENCES 引用
key `FK_gradeid`(`gradeid`)
CONSTRAINT `FK_gradeid` FOREIGN KEY (`gradeid`) REFERENCES `grade`(`gradeid`)

第二种方式:建议

-- 创建表成功后,添加外键约束
-- 创建表的时候没有外键关系
ALTER TABLE `student`
ADD CONSTRAINT `FK_gradeid` FOREIGN KEY(`gradeid`) REFERENCES `grade`(`gradeid`);
-- ALTER TABLE 表 ADD CONSTRAINT `` FOREIGN KEY (``) REFERENCES `字段`

以上的操作都是物理外键,数据库级别的外键,我们不建议使用,(避免数据库过多造成困扰,这里了解即可)

最佳实践

  • 数据库为单纯的表
  • 我们想使用多张的表数据,想使用外键(程序去实现)

3.2、DML语言

数据库语言: 数据存储、数据管理

3.3、添加 INSERT

-- 插入语句
INSERT INTO 表名([字段1,字段2,字段2])
values(''),(''),('')

-- INSERT INTO 'grade'('gradename') VALUES ('大四')
-- 一般写插入语句,一定要数据和要插入值的字段一一对应
-- 给某个字段添加多个字段
INSERT INTO `表明`(`属性列字段`, ...) 
VALUES ('匹配的值1','匹配的值2','匹配的值3')
/*
如果不想写属性列的字段名,那么就吧每个属性列完全匹配,一一对应的写出后面的值*/

注意事项

  • 字段和字段之间使用英文逗号隔开
  • 字段是可以省略的,但是后面的值必须要一一对应,不能少
  • 可以同时插入多条数据,VALUES 后面的值,需要使用,隔开即可VALUSE(),(),......
-- 插入多条数据<即元组>,多个行的数据
INSERT INTO `s`(`SNO`,`SNAME`,`SEX`,`Sage`) VALUES ('180109','王五','男','76'),('180108','李四','男','88')

3.3修改

update 修改谁(条件)

-- 修改学员名字
UPDATE `student` SET `name`='长江七号' WHERE  id = 1; -- 有条件
-- 不指定的情况下,会改动所有表!!!!!
UPDATE `student` SET `name` = '长江七号'
-- 语法
-- UPDATE 表名 SET colum_name = value,[colum_name = value,....] where [条件]

条件:where 运算符

 
操作符 含义 范围 结果
= 等于 5=6 false
<>或者 != 不等于 5<>6 true
> 大于 5>6 false
< 小于 5<6 true
>= 大于等于 5>=6 false
<= 小于等于 5<=6 true
between A and B 在A和B之间 between 1 and 10 在1~10之间,不包括10
AND 连接条件&& 条件1 和条件2都成立 都是true 才是true
OR 或者|| 条件1 和条件2有一个成立即可 有一个true才是true

注意事项:

  • colnum_name 是数据库的列,尽量带上 ``
  • 条件,筛选的条件,如果没有指定,则会修改所有的列
  • VLAUE是一个具体的值,也可以是一个变量,如birthday = CURRENT_TIME current_time是当前时间
  • 多个设置的属性之间,使用英文逗号隔开
-- 修改语句的例子
UPDATE `student`SET `birthday` = CURRENT_TIME WHERE `name` = '长江七号' AND  SEX = '女'

3.4 删除

delete 命令

语法:delete from 表明 where 判断条件

-- 删除数据<慎用,容易删库跑路>
DELETE FROM `STUDENT`

-- 删除指定数据
DELETE FROM `student` WHERE id = 1;

TRUNCATE 命令

作用:完全清空一个数据库表,表的结构和索引约束不会改变!!

-- 清空数据表,例如清空student表
TRUNCATE `student`
-- 安全写法,删除表,防止删除数据库名为`student`
TRUNCATE TABLE `student`

delete 和TRUNCATE的区别

相同点:都可以删除数据,都不会删除表的结构

不同:

  • TRUNCATE 重新设置自增列,计数器会归零
  • TRUNCATE 不会影响事务
-- 测试
CREATE TABLE `test`(
    `id` INT(4) NOT NULL AUTO_INCREMENT,
    `COLL` VARCHAR(20) NOT NULL,
    PRIMARY KEY('id')
)ENGINE=INNODB DEFAULT CHARSET=UTF8

INSERT TNTO `test` (`coll`) VALUES('1')('2')('3')

DELETE FROM `test` -- 不会影响自增

TRUNCATE TABLE `test` -- 自带会归零

了解即可:delete删除的问题,重启数据库,现象

  • INNODB 自增列会从1开始,(存在内存当中的断电即失)
  • MYISAM 继续从上一个子增量开始(存在文件当中的,不会丢失)

+++

+++

课后的添加实例展示

添加:

-- 一条元组的添加示例
insert into `Student` values('180103','对象三','女','22','CS')

-- 测试添加多条元组,中间使用英文逗号隔开
INSERT INTO `Student` VALUES('180105','对象五','男','19','IS'),('180106','对象六','女','20','CS'),('180107','对象七','女','20','CS')

-- 因为表的结构设置非空,这里没有测试只添加某个属性列的值

Mysql数据库值的添加、修改、删除及清空操作实例

+++

修改:update

UPDATE `student` SET `sname` = '操作修改对象一' WHERE `sno`= 180102;
-- 记得添加的时候不要带逗号,我的问题出在了下面带了逗号
-- UPDATE `student` SET `sname` = '操作修改对象一',WHERE `sno`= 180102;

添加成功后,表的结果截图展示:

Mysql数据库值的添加、修改、删除及清空操作实例

删除:delete

-- 删除单条记录<符合WHERE条件就删除这条记录>
DELETE FROM `student` WHERE sname = '操作修改对象一';
-- 使用TRUNCATE清空数据表
TRUNCATE Table `student`
-- 或者使用 delete删除所有数据库
DELETE FROM `student`
-- 不会影响自增

操作结果展示

-- 因为删除了所有数据,所以结果是表为空

Mysql数据库值的添加、修改、删除及清空操作实例

总结

到此这篇关于Mysql数据库值的添加、修改、删除及清空操作的文章就介绍到这了,更多相关Mysql值添加、修改、删除及清空内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MySQL 相关文章推荐
Windows10下安装MySQL8
Apr 06 MySQL
Mysql文件存储图文详解
Jun 01 MySQL
MySQL 全文检索的使用示例
Jun 07 MySQL
MySQL修改默认引擎和字符集详情
Sep 25 MySQL
浅谈MySql整型索引和字符串索引失效或隐式转换问题
Nov 20 MySQL
MySQL日期时间函数知识汇总
Mar 17 MySQL
一文了解MYSQL三大范式和表约束
Apr 03 MySQL
解决MySQL Varchar 类型尾部空格的问题
Apr 06 MySQL
Mysql排查分析慢sql之explain实战案例
Apr 19 MySQL
MySQL 数据 data 基本操作
May 04 MySQL
MySQL慢查询中的commit慢和binlog中慢事务的区别
Jun 16 MySQL
mysql sock 文件解析及作用讲解
Jul 15 MySQL
Unity连接MySQL并读取表格数据的实现代码
新手入门Mysql--sql执行过程
MySQL 外键约束和表关系相关总结
Jun 20 #MySQL
MySQL 使用索引扫描进行排序
Jun 20 #MySQL
新手入门Mysql--概念
mysql获取指定时间段中所有日期或月份的语句(不设存储过程,不加表)
MySQL REVOKE实现删除用户权限
Jun 18 #MySQL
You might like
php 显示指定路径下的图片
2009/10/29 PHP
Yii框架分页实现方法详解
2017/05/20 PHP
php过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法分析
2019/06/25 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
popdiv
2006/07/14 Javascript
JavaScript让IE浏览器event对象符合W3C DOM标准
2009/11/24 Javascript
JavaScript中的一些定位属性[图解]
2010/07/14 Javascript
javascript对下拉列表框(select)的操作实例讲解
2013/11/29 Javascript
轻松创建nodejs服务器(10):处理POST请求
2014/12/18 NodeJs
使用jquery实现的循环连续可停顿滚动实例
2016/11/23 Javascript
javascript中的面向对象
2017/03/30 Javascript
浅析 NodeJs 的几种文件路径
2017/06/07 NodeJs
对类Vue的MVVM前端库的实现代码
2018/09/07 Javascript
Bootstrap4 gulp 配置详解
2019/01/06 Javascript
详谈Object.defineProperty 及实现数据双向绑定
2020/07/18 Javascript
python查找第k小元素代码分享
2013/12/18 Python
linux下python抓屏实现方法
2015/05/22 Python
一步步教你用Python实现2048小游戏
2017/01/19 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
2017/07/06 Python
对python 读取线的shp文件实例详解
2018/12/22 Python
python pandas时序处理相关功能详解
2019/07/03 Python
余弦相似性计算及python代码实现过程解析
2019/09/18 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
解决django的template中如果无法引用MEDIA_URL问题
2020/04/07 Python
Python virtualenv虚拟环境实现过程解析
2020/04/18 Python
全方位了解CSS3的Regions扩展
2015/08/07 HTML / CSS
html5 svg 中元素点击事件添加方法
2013/01/16 HTML / CSS
DERMAdoctor官网:美国著名皮肤护理品牌
2019/07/06 全球购物
优秀毕业大学生推荐信
2013/11/13 职场文书
对教师的评语
2014/04/28 职场文书
药店营业员岗位职责
2015/04/14 职场文书
2015年小学图书室工作总结
2015/05/18 职场文书
仓库管理制度范本
2015/08/04 职场文书
公证书
2019/04/17 职场文书
Python安装使用Scrapy框架
2022/04/12 Python
Android开发EditText禁止输入监听及InputFilter字符过滤
2022/06/10 Java/Android