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的join buffer原理
Apr 29 MySQL
MySQL如何构建数据表索引
May 13 MySQL
Mysql数据库命令大全
May 26 MySQL
MySQL通过binlog恢复数据
May 27 MySQL
Mysql 如何实现多张无关联表查询数据并分页
Jun 05 MySQL
SQL实现LeetCode(177.第N高薪水)
Aug 04 MySQL
mysql中整数数据类型tinyint详解
Dec 06 MySQL
Mysql忘记密码解决方法
Feb 12 MySQL
MySQL学习必备条件查询数据
Mar 25 MySQL
解决Mysql报错 Table 'mysql.user' doesn't exist
May 06 MySQL
SQL语句中EXISTS的详细用法大全
Jun 25 MySQL
MySQL主从切换的超详细步骤
Jun 28 MySQL
Unity连接MySQL并读取表格数据的实现代码
新手入门Mysql--sql执行过程
MySQL 外键约束和表关系相关总结
Jun 20 #MySQL
MySQL 使用索引扫描进行排序
Jun 20 #MySQL
新手入门Mysql--概念
mysql获取指定时间段中所有日期或月份的语句(不设存储过程,不加表)
MySQL REVOKE实现删除用户权限
Jun 18 #MySQL
You might like
非常不错的MySQL优化的8条经验
2008/03/24 PHP
php Undefined index和Undefined variable的解决方法
2008/03/27 PHP
PHP 中执行排序与 MySQL 中排序
2009/04/21 PHP
php 文件上传实例代码
2012/04/19 PHP
PHP内核探索:变量概述
2014/01/30 PHP
PHP微信公众号开发之微信红包实现方法分析
2017/07/14 PHP
PHP页面静态化――纯静态与伪静态用法详解
2020/06/05 PHP
Javascript Select操作大集合
2009/05/26 Javascript
jquery 实现密码框的显示与隐藏示例代码
2013/09/18 Javascript
jqeury-easyui-layout问题解决方法
2014/03/24 Javascript
基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
2014/09/26 NodeJs
JS控制静态页面传递参数并获取参数应用
2016/08/10 Javascript
json定义及jquery操作json的方法
2016/09/29 Javascript
解决拦截器对ajax请求的拦截实例详解
2016/12/21 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
2017/05/03 Javascript
jquery.guide.js新版上线操作向导镂空提示jQuery插件(推荐)
2017/05/20 jQuery
实现图片首尾平滑轮播(JS原生方法—节流)
2017/10/17 Javascript
Angular弹出模态框的两种方式
2017/10/19 Javascript
详解element上传组件before-remove钩子问题解决
2020/04/08 Javascript
element-ui 实现响应式导航栏的示例代码
2020/05/08 Javascript
详解Python的单元测试
2015/04/28 Python
python 编程之twisted详解及简单实例
2017/01/28 Python
使用python编写监听端
2018/04/12 Python
python3+requests接口自动化session操作方法
2018/10/13 Python
Python DataFrame一列拆成多列以及一行拆成多行
2019/08/06 Python
python使用建议技巧分享(三)
2020/08/18 Python
Python和Bash结合在一起的方法
2020/11/13 Python
Perry Ellis官网:美国男士品味服装
2016/12/09 全球购物
欧舒丹加拿大官网:L’Occitane加拿大
2017/10/29 全球购物
摄影实习自我鉴定
2013/09/20 职场文书
八一演出活动方案
2014/02/03 职场文书
银行求职自荐书
2014/06/25 职场文书
小学生民族团结演讲稿
2014/08/27 职场文书
2015年教务主任工作总结
2015/07/22 职场文书
Nginx配置并兼容HTTP实现代码解析
2021/03/31 Servers
90行Python代码开发个人云盘应用
2021/04/20 Python