三.mysql数据管理(b站狂神学习笔记)

狂神说MySQL系列连载课程学习笔记

三.mysql数据管理

3.1外键(了解即可)

数据库层面 物理外键 不推荐使用

应该在应用层实现 否则维护麻烦

如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。

在实际操作中,将一个表的值放入第二个表来表示关联,所使用的值是第一个表的主键值(在必要时可包括复合主键值)。此时,第二个表中保存这些值的属性称为外键(foreign key)。

外键作用

保持数据一致性,完整性,主要目的是控制存储在外键表中的数据,约束。使两张表形成关联,外键只能引用外表中的列的值或使用空值。

3.2 DML语言(要记住)

管理数据库数据方法:

  • 通过SQLyog等管理工具管理数据库数据
  • 通过DML语句管理数据库数据
  • DML语言 :数据操作语言
    • 用于操作数据库对象中所包含的数据
    • 包括 :
      • INSERT (添加数据语句)
      • UPDATE (更新数据语句)
      • DELETE (删除数据语句)

3.3添加

INSERT INTO 表名[(字段1,字段2,字段3,...)] VALUES('值1'),('值2'),('值3') --多行插入数据
insert into `student1` (`name`)values('李雷'),('张三')

INSERT INTO 表名[(字段1,字段2,字段3,...)] VALUES('值1','值2','值3') --多列插入数据
INSERT INTO `student1` (`name`,`address`)VALUES('李雷','山西')

insert into `student1` (`name`)values('李雷')
insert into `student1` values('李雷')
--如果不写表的字段 会自动从第一个一一匹配 

INSERT INTO `student1` (`name`,`address`)VALUES('李一','山西'),('李二','山西'),('李三','山西')


3.4修改

UPDATE`student1` SET `name`='王五' WHERE id = 1
-- id为1的name设置为王五

UPDATE`student1` SET `name`='王五' 
-- 不指定条件会改掉所有的name

UPDATE`student1` SET `name`='王六' ,`sex` ='女' WHERE id = 1

条件:where条件子句

  • <

  • <> 就是!=

  • between 2 and 4 2到4之间的 闭区间

eg:WHERE id between 2 and 4

  • and 用来增加多个条件
  • or

3.5删除

DELETE命令

DELETE FROM `student1` 
-- 删除全部(避免这样)
DELETE FROM `student1` WHERE id = 1
-- 删除表中指定数据

TRUNCATE命令 truncate

TRUNCATE `student1`
-- 删除表的全部数据

区别

  • 相同 : 都能删除数据 , 不删除表结构 , 但TRUNCATE速度更快

  • 不同 :

    • 使用TRUNCATE TABLE 重新设置AUTO_INCREMENT计数器

      计数器会归零 DELETE再加数据会从以前的计数开始

    • 使用TRUNCATE TABLE不会对事务有影响

    了解:

    同样使用DELETE清空不同引擎的数据库表数据.重启数据库服务后
    
    -- InnoDB : 自增列从初始值重新开始 (因为是存储在内存中,断电即失)
    
    -- MyISAM : 自增列依然从上一个自增数据基础上开始 (存在文件中,不会丢失)
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值