MySQL数据库数据管理

1.外键

  • 方式一:在创建表的时候添加约束
CREATE TABLE IF NOT EXISTS `student`(
	`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
	`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
	`pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
	`sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性别',
	`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
	`gradeid` INT(10) NOT NULL COMMENT '学生的年纪',
	`dddress` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
	`email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
	PRIMARY KEY (`id`),
	KEY `FK_gradeid` (`gradeid`),--定义外键key
	CONSTRAINT `FK_gradeid` FOREIGN KEY (`gradeid`) REFERENCES `grade` (`gradeid`)--给这个外键添加约束
)ENGINE=INNODB DEFAULT CHARSET=utf8
  • 方法二:创建表的时候没有外键约束,然后用alter修改添加
ALTER TABLE `student`
ADD CONSTRAINT `FK_gradeid` FOREIGN KEY(`gradeid`) REFERENCES `grade`(`gradeid`);

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

最佳实践

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

删除有外键关系的表的时候,必须要先删除引用别人的表(从表),再删除被引用的表(主表)。

2.DML语言(全部记住)

数据库意义:数据存储,数据管理
DML语言:数据操作语言

  • insert
  • update
  • delete

3.添加

-语法
sql insert into 表名([字段1,字段2]) values('值1'),('值2)...
INSERT INTO `grade` (`gradename`)VALUES ('大四')

  • 如果不写表的字段,它就会一一对应
  • 字段可以省略,但一定要数据和字段一一对应
  • 插入多个字段
  • 字段和字段使用英文隔开
  • 可以同时插入多条数据,values后面的值使用“,”隔开即可INSERT INTO `grade`(`gradename`) VALUES('大二'),('大一')

4.修改

update 修改谁 (条件) set原来的值,新值

  • 不指定条件的情况下会改动所有表
  • 语法:
    update 表名 set colnum_name=value where 条件[ ]
  • 修改多个属性,逗号隔开
  • 操作符
运算符含义
=等于
<>或!=不等于
>
<
>=
<=
BETWEEN…and……和…之间
AND且&&
OR||

5.删除

  • delete命令
    语法:delete from 表名 where 条件
  • truncate命令
    完全清空一个数据库表,表的结构和索引数据不会变
    truncate 表名

两者的区别:

  • truncate 重新设置自增列,计数器会归零
  • truncate不会影响事务
  • delete删除后,InnoDB重启数据库,自增列会从1开始(存在内存当中,断点即失);MYISAM继续从上一个自增量开始(存在文件中的,不会丢失)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值