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 20 MySQL
解析MySQL binlog
Jun 11 MySQL
如何使用分区处理MySQL的亿级数据优化
Jun 18 MySQL
MySQL系列之三 基础篇
Jul 02 MySQL
MySQL 四种连接和多表查询详解
Jul 16 MySQL
SQL优化老出错,那是你没弄明白MySQL解释计划用法
Nov 27 MySQL
mysql下的max_allowed_packet参数设置详解
Feb 12 MySQL
MySQL分区表管理命令汇总
Mar 21 MySQL
mysql如何查询连续记录
May 11 MySQL
Mysql数据库事务的脏读幻读及不可重复读详解
May 30 MySQL
Mysql中@和@@符号的详细使用指南
Jun 05 MySQL
Unity连接MySQL并读取表格数据的实现代码
新手入门Mysql--sql执行过程
MySQL 外键约束和表关系相关总结
Jun 20 #MySQL
MySQL 使用索引扫描进行排序
Jun 20 #MySQL
新手入门Mysql--概念
mysql获取指定时间段中所有日期或月份的语句(不设存储过程,不加表)
MySQL REVOKE实现删除用户权限
Jun 18 #MySQL
You might like
用文本文件制作留言板提示(下)
2006/10/09 PHP
php入门学习知识点八 PHP中for循环基本应用之九九乘法口绝表
2011/07/14 PHP
ThinkPHP3.1新特性之命名范围的使用
2014/06/19 PHP
php解析json数据实例
2014/08/19 PHP
php调用shell的方法
2014/11/05 PHP
php常用hash加密函数
2014/11/22 PHP
PHP可变函数学习小结
2015/11/29 PHP
PHP sleep()函数, usleep()函数
2016/08/25 PHP
在Yii2特定页面如何禁用调试工具栏Debug Toolbar详解
2017/08/07 PHP
PHP如何使用JWT做Api接口身份认证的实现
2020/02/03 PHP
js null,undefined,字符串小结
2010/08/21 Javascript
JavaScript设置首页和收藏页面的小例子
2013/11/11 Javascript
QQ空间顶部折页撕开效果示例代码
2014/06/15 Javascript
jquery实现简单的无缝滚动
2015/04/15 Javascript
在WordPress中加入Google搜索功能的简单步骤讲解
2016/01/04 Javascript
jQuery实现圣诞节礼物动画案例解析
2016/12/25 Javascript
基于javascript实现数字英文验证码
2017/01/25 Javascript
jQuery+pjax简单示例汇总
2017/04/21 jQuery
详解用vue.js和laravel实现微信授权登陆
2017/06/23 Javascript
详解Vue一个案例引发「内容分发slot」的最全总结
2018/12/02 Javascript
基于vue-cli、elementUI的Vue超简单入门小例子(推荐)
2019/04/17 Javascript
jquery多级树形下拉菜单的实例代码
2019/07/09 jQuery
js使用文档就绪函数动态改变页面内容示例【innerHTML、innerText】
2019/11/07 Javascript
[01:15:12]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#4Newbee VS CDEC
2016/03/03 DOTA
python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)
2014/06/09 Python
Python2.7基于笛卡尔积算法实现N个数组的排列组合运算示例
2017/11/23 Python
Windows10下Tensorflow2.0 安装及环境配置教程(图文)
2019/11/21 Python
python实现12306登录并保存cookie的方法示例
2019/12/17 Python
HTML5实现简单图片上传所遇到的问题及解决办法
2016/01/20 HTML / CSS
世界上第一个水枕头:Mediflow
2018/12/06 全球购物
WebSphere 应用服务器都支持哪些认证
2013/12/26 面试题
幼儿园实习自我鉴定
2013/12/15 职场文书
办理护照介绍信
2014/01/16 职场文书
创建精神文明单位实施方案
2014/03/08 职场文书
Python 中的 copy()和deepcopy()
2021/11/07 Python
Redis基本数据类型Zset有序集合常用操作
2022/06/01 Redis