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 相关文章推荐
MySQL锁机制
Apr 05 MySQL
MySQL创建索引需要了解的
Apr 08 MySQL
MySQL8.0.24版本Release Note的一些改进点
Apr 22 MySQL
MySQL表字段时间设置默认值
May 13 MySQL
mysql数据库入门第一步之创建表
May 14 MySQL
详解mysql三值逻辑与NULL
May 19 MySQL
MySQL 常见存储引擎的优劣
Jun 02 MySQL
MySQL中连接查询和子查询的问题
Sep 04 MySQL
mysql事务对效率的影响分析总结
Oct 24 MySQL
关于MySQL中的 like操作符详情
Nov 17 MySQL
MySQL 主从复制数据不一致的解决方法
Mar 18 MySQL
MySQL数据库简介与基本操作
May 30 MySQL
Unity连接MySQL并读取表格数据的实现代码
新手入门Mysql--sql执行过程
MySQL 外键约束和表关系相关总结
Jun 20 #MySQL
MySQL 使用索引扫描进行排序
Jun 20 #MySQL
新手入门Mysql--概念
mysql获取指定时间段中所有日期或月份的语句(不设存储过程,不加表)
MySQL REVOKE实现删除用户权限
Jun 18 #MySQL
You might like
PHP生成静态页
2006/11/25 PHP
php下intval()和(int)转换使用与区别
2008/07/18 PHP
PHP使用ajax的post方式下载excel文件简单示例
2019/08/06 PHP
ASP Json Parser修正版
2009/12/06 Javascript
JavaScript Serializer序列化时间处理示例
2014/07/31 Javascript
FF(火狐)浏览器无法执行window.close()解决方案
2014/11/13 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
2015/08/26 Javascript
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
2015/11/24 Javascript
基于JavaScript实现瀑布流效果(循环渐近)
2016/01/27 Javascript
在Mac OS上安装使用Node.js的项目自动化构建工具Gulp
2016/06/18 Javascript
JQuery学习总结【二】
2016/12/01 Javascript
vue实现提示保存后退出的方法
2018/03/15 Javascript
浅谈React 服务器端渲染的使用
2018/05/08 Javascript
vue form check 表单验证的实现代码
2018/12/09 Javascript
vue中的计算属性和侦听属性
2020/11/06 Javascript
基于Python os模块常用命令介绍
2017/11/03 Python
详解从Django Rest Framework响应中删除空字段
2019/01/11 Python
Python中字符串与编码示例代码
2019/05/20 Python
python代码实现将列表中重复元素之间的内容全部滤除
2020/05/22 Python
Python如何执行系统命令
2020/09/23 Python
Python监听剪切板实现方法代码实例
2020/11/11 Python
10个很棒的 CSS3 开发工具 推荐
2011/05/16 HTML / CSS
纯CSS3制作的简洁蓝白风格的登录模板(非IE效果更好)
2013/08/11 HTML / CSS
HTML5中的autofocus(自动聚焦)属性介绍
2014/04/23 HTML / CSS
应届大学毕业生找工作的求职信范文
2013/11/29 职场文书
教师演讲稿范文
2014/01/08 职场文书
秋季红领巾广播稿
2014/01/27 职场文书
大学校庆策划书
2014/01/31 职场文书
应届毕业生自荐信例文
2014/02/26 职场文书
网络编辑职责
2014/03/01 职场文书
浪漫婚礼主持词
2014/03/14 职场文书
放飞梦想演讲稿
2014/05/05 职场文书
招标授权委托书样本
2014/09/23 职场文书
2014年保密工作总结
2014/11/22 职场文书
学校2014年度工作总结
2014/12/06 职场文书
索尼ICF-36收音机评测
2022/04/30 无线电