3、MySQL的数据管理

3.1、外键(了解)

格式: ALTER TABLE 表明 ADD CONSTRAINT 约束名 FOREIGN KEY(作为外键的列) REFERENCES 那个表(那个字段)

#添加外键(也可以在创建表时添加)
ALTER TABLE `student`
ADD CONSTRAINT `FK_gradeid` FOREIGN KEY(`gradeid`) REFERENCES `grade`(`gradeid`);


注意: 删除有外键关系的表时,必须先删除引用别人的表(从表), 再删除被引用的表(主表)
以上操作都是物理外键 (数据库级别的外键) 不建议 (避免数据库过多造成困扰, 了解即可)

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

3.2、DML语言(全记)

数据库意义: 数据存储, 数据管理
DML语言:
①insert
②update
③delete

3.2.1、添加(insert)

格式:INSERT INTO 表名(字段1,字段2,字段3……) VALUES(字段1值,字段2值,字段3值……),(字段1值,字段2值,字段3值……);

--插入语句(添加)
INSERT INTO `grade`(`gradename`) VALUES('大四');

INSERT INTO `grade`(`gradename`) VALUES('大三'),('大二');

INSERT INTO `student`(`id`,`name`,`pwd`) VALUES(14,'身伤易愈','1478520'),(11,'身伤易愈','1478520');
--格式:INSERT INTO `表名`(`字段1`,`字段2`,`字段3`……) VALUES(`字段1值`,`字段2值`,`字段3值`……),(`字段1值`,`字段2值`,`字段3值`……);

--注意:①VALUES后面一个括号为一组数据
--			②插入数据必须写入非空且无默认值的字段

注意:①VALUES后面一个括号为一组数据

②插入数据必须写入非空且无默认值的字段
③可以省略(字段1,字段2,字段3……)但后面的值必须与原表一 一对应

3.2.2、修改(update)

格式UPDATE 表名 SET 要改的列名 WHERE 修改的条件;

--修改语句
--格式UPDATE `表名` SET 要改的列名 WHERE 修改的条件;

--修改某个属性
UPDATE `student` SET `sex`='男' WHERE sex='女';

--不指定修改条件就会改动所有数据
UPDATE `student` SET `sex`='女';

--修改多个属性用逗号隔开
UPDATE `student` SET `sex`='女',`pwd`='0';

--多个修改条件可以用AND(&&), OR(||)搭配组成新的修改条件
UPDATE `student` SET `pwd`='1' WHERE `sex`='女' AND `pwd`='0';

操作符含义
=等于
<>或!=不等于
>大于
<小于
<=小于等于
>=大于等于
BEYWEEN A and B[A,B]
AND&&(并)
OR

注意: 不指定修改条件就会改动所有数据!!!
value, 是一个具体的值, 也可以是一个变量

3.2.3、删除(delete)

格式: DELETE FROM 表名 WHERE 修改条件

#三、删除语句
#删除数据(避免这样写,会全部删除)
DELETE FROM grade	#不会影响自增
TRUNCATE TABLE grade		#重新设置自增列 计数器归零  不会影响事务

#删除指定数据
DELETE FROM `grade` WHERE `gradeid`=2014;
#格式:DELETE FROM `表名` WHERE 修改条件

DELETE 与
TRUNCATE的区别

DELETE FROM #不会影响自增

TRUNCATE TABLE #重新设置自增列 计数器归零 不会影响事务

DELETE删除问题(了解即可), 重启数据库, 现象

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


























  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值