JAVA-MySQL三{MySQL数据管理-增-删-改}JAVA从基础开始 --7

这篇博客介绍了JAVA操作MySQL数据库进行数据管理的基本操作,包括增(INSERT)、删(DELETE)、改(UPDATE)以及外键的概念和使用。讲解了如何在创建表时定义和后期添加外键约束,并强调了物理外键的使用注意事项。此外,还详细展示了各种DML语句的实例,帮助读者理解和掌握数据库操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JAVA-MySQL三{MySQL数据管理-增-删-改}JAVA从基础开始 --7

MySQL数据管理

外键(了解)

创建表时候添加约束
删除表时,有约束就需要先删除引用的表

	-- 学生表的gradeid字段  要去匹配年级表的gradeid
-- 定义外键key
-- 给这个外键添加约束 (执行引用) references


CREATE TABLE
IF
	NOT EXISTS `student` (
	`id` INT ( 4 ) NOT NULL auto_increment COMMENT '学号',
	`gradeid` INT ( 10 ) NOT NULL COMMENT '学生年级',
	`name` VARCHAR ( 30 ) NOT NULL DEFAULT '匿名' COMMENT '姓名',
	`pwd` VARCHAR ( 30 ) NOT NULL DEFAULT '123456' COMMENT '密码',
	`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
	`address` VARCHAR ( 100 ) DEFAULT NULL COMMENT '地址',
	`email` VARCHAR ( 50 ) DEFAULT NULL COMMENT '邮箱',
	PRIMARY KEY ( `id` ),
	KEY `FK_gradeid` ( `gradeid` ),
	constraint `FK_gradeid` FOREIGN KEY ( `gradeid` ) REFERENCES `grade` ( `gradeid` ) 
ENGINE = INNODB DEFAULT CHARSET = utf8

创建表后添加外键约束

	Alter table `student`
	add constraint `FK_gradeid` FOREIGN KEY ( `gradeid` ) REFERENCES `grade` ( `gradeid` ) 

以上的操作都是物理外键,数据库级别的外键,我们不推荐使用(避免数据库过多造成困扰)

最佳实现
数据库就是单纯的表,只用来存储数据,只有行-数据和列-字段
我们想使用多张表数据,想用外键,(用程序实现)

DML语言(全部记住)

数据库管理语言,数据存储和管理

1.insert
2.update
3.delete

# insert into 表名([字段1,字段2,]) values ('值1','值2')

insert into `grade` (`name`) values ('大二')

在这里插入图片描述
1·主键自增可不输入
2·若不写字段,则会一一匹配

insert into `grade`  values ('3','大二')

在这里插入图片描述

3·一般写插入语句,一定要保证一一对应
4·多条语句插入

INSERT INTO `grade` ( `name` )
VALUES
	( '大三' ),
	( '大四' )

在这里插入图片描述
4·多个字段插入

INSERT INTO `student` ( `gradeid`, `name`, `pwd`, `birthday`, `address`, `email` )
VALUES
	( '1', '李四', '123456', '2021-08-01 08:24:00', 'a', 'a@q' ),
	( '1', '李四', '123456', '2021-08-01 08:24:00', 'a', 'a@q' )

在这里插入图片描述
5·多个字段,多条数据插入

```sql
INSERT INTO `student` ( `gradeid`, `name`, `pwd`, `birthday`, `address`, `email` )
VALUES
	( '1', '李四', '123456', '2021-08-01 08:24:00', 'a', 'a@q' )

在这里插入图片描述

update 修改字段 (条件) set属性=新值

1.单行修改

update `student` set `name` = '修改1' where id = 1

在这里插入图片描述
2.全改(要注意不要有这种操作)

update `student` set `name` = '修改损坏'

在这里插入图片描述
3.修改多个属性 用逗号隔开

UPDATE `student` 
SET `name` = '修改2',
`email` = '修改@' 
WHERE
	id = 2

在这里插入图片描述
where 子句 运算符

等于 : ‘=’
大于: ‘>’ ‘>=’
小于: ‘<’ ‘<=’
不等于: ‘!=’ ‘<>’
在某个区间:between : ‘BETWEEN 2 AND 5’
↑ 包含了2和5
多个条件定位数据 :

  1. AND 和语句 等同于&&
  2. OR 与语句 等同于||

update 表名 set colnum_name = value,[colnum_name = value] where 【条件】

value可以是具体值,或者是变量
多个条件或者属性,用逗号隔开

java中在每个语句开头写逗号,最后应用的时候再去掉第一个,用trim

修改某字段内容中某部分
update user set name = replace(name,'刘','李') where name like '刘%';

delete命令

语法:delete from 表名 where [条件]

避免不写条件,会清空数据库
在这里插入图片描述

truncate TRUNCATE 命令

作用:完全清空一个表,表的结构和索引不会变

在这里插入图片描述

! 使用truncate清空 会重置自增量

使用delete删除,当数据库重启时候,
1.innDB 会重置自增量从1开始,因为它是存在内存中的。
MyISAM 继续从上一个自增量开始,存在文件中的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

轻动琴弦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值