MySQL数据管理操作示例讲解

 更新时间:2022年12月22日 15:46:46   作者:洋圏外の彼女  
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性

外键

方式一:在创建表的时候,增加约束

删除有外键的表的时候,要先删除引用外键的表

物理外键:不建议使用,数据库级别的外键,不建议使用!(避免数据库过多造成困扰)

数据库就是单纯的表,只用来存数据,只有行(数据)和列(字段)

我们想使用多张表的数据,想使用外键,用程序去实现即可

DML语言

数据库的意义:数据管理,数据存储

DML语言:数据操作语言

insert  update  delete

添加 insert

-- 插入语句
-- insert into 表名([字段名1],[字段2],....) values ('值1','值2',....),('值1','值2',....),...
insert into `grade`(gradename) values ('大四')
-- 由于主键自增,我们可以省略(如果不写字段名,就会一一匹配)
-- 一般写插入语句,我们一定要数据和字段一一匹配
-- 插入多字段
insert into grade(gradename) 
values('大一'),('大二')
insert into student(name,pwd) 
values ('Lisa','1223')
insert into student(name,pwd) 
values ('Lisa','1442'),('lili','520'),('aaa','126')

语法:insert into 表名([字段名1],[字段2],…) values (‘值1’,‘值2’,…),(‘值1’,‘值2’,…),…

注意事项:

  • 字段和字段之间使用英文逗号隔开;
  • 字段是可以省略的,但是后面的值必须要一一对应;
  • 可以同时插入多条数据,values后的值,需要使用,隔开即可 (‘值1’,‘值2’,…),(‘值1’,‘值2’,…),…

修改 update

-- 修改学员的名字
update student set name = '安娜' where id = 1
-- 不指定条件的情况下,会改动所有表!
-- 修改多个属性
update student set name = '安娜',pwd = '1123' where id = 1
-- 语法:
-- update 表名 set 列名 = value,列名 = value,... where id=1

条件:where 子句 运算符 id 等于某个值 大于某个值 在某个区间内修改 ,…

语法:update 表名 set 列名 = value,列名 = value,… where id=1

注意:

  • 列名是数据库的列,尽量带上``
  • 条件,筛选条件,如果没有指定则会修改所有的列;
  • value 是一个具体的值,也可以是一个变量
update student set birthday=current_time where id = 1 

设置多个属性,中间使用英文逗号隔开

删除 delete

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

-- 删除数据 不要这样写,会全部删除的
delete from student
-- 删除指定数据
delete from student where id=1

​ truncate命令:专门用来删除数据库的

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

-- 清空grade表
truncate grade

delete和truncate的区别

相同点:都能删除数据,都不会删除表 结构

不同:

  • truncate会重新设置自增列,计数器会归零
  • truncate不会影响事务
   -- 测试delete和truncate的区别
   create table test(
   	id int(4) not null auto_increment,
   	coll varchar(20) not null,
   	PRIMARY key (id)
   )ENGINE=INNODB DEFAULT charset=utf8
   -- delete不会影响自增(删除了前三行,新增数据还是从第四行开始增加)
   delete from test
   -- truncat自增会归零(删除前三行,新增数据从1开始)
   truncate table test

了解:

delete删除的问题,重启数据库,会产生如下现象:

​ innodb 自增列会从1开始(存在内存当中的,断电即失)

​ myisam 继续从上一个自增列开始(存在文件当中,不会丢失)

到此这篇关于MySQL数据管理操作示例讲解的文章就介绍到这了,更多相关MySQL数据管理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • innodb_index_stats导入备份数据时报错表主键冲突的解决方法

    innodb_index_stats导入备份数据时报错表主键冲突的解决方法

    下面小编就为大家带来一篇innodb_index_stats导入备份数据时报错表主键冲突的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • mysql线上查询之前要性能调优的技巧及示例

    mysql线上查询之前要性能调优的技巧及示例

    文章介绍了查询优化的几种方法,包括使用索引、避免不必要的列和行、有效的JOIN策略、子查询和派生表的优化、查询提示和优化器提示等,这些方法可以帮助提高数据库性能,减少查询的执行时间和资源消耗,感兴趣的朋友一起看看吧
    2025-03-03
  • MySQL查看数据库状态命令详细讲解

    MySQL查看数据库状态命令详细讲解

    在工作中,有时候我们需要了解MySQL服务器的状态信息,下面这篇文章主要给大家介绍了关于MySQL查看数据库状态命令的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • MySQL中CONCAT()函数出现值为空的问题及解决办法

    MySQL中CONCAT()函数出现值为空的问题及解决办法

    项目中查询用到了concat()拼接函数,本文主要介绍了MySQL中CONCAT()函数出现值为空的问题及解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-07-07
  • Mysql联合查询UNION和UNION ALL的使用介绍

    Mysql联合查询UNION和UNION ALL的使用介绍

    本文详细介绍了Mysql的联合查询命令UNION和UNION ALL,总结了使用语法和注意事项,以及学习例子和项目例子,需要的朋友可以参考下
    2014-04-04
  • 浅析MySQL的lru链表

    浅析MySQL的lru链表

    这篇文章主要介绍了MySQL lru链表的相关资料,帮助大家更好的理解和使用MySQL数据库,感兴趣的朋友可以了解下
    2020-11-11
  • MySQL数据库索引原理及优化策略

    MySQL数据库索引原理及优化策略

    MySQL数据库索引是一种数据结构,用于提高数据查询的效率,加快数据检索的速度。索引基于树结构实现,可以通过B+树等算法来优化索引效率。MySQL中常见的索引类型包括主键索引、唯一索引、普通索引、全文索引等
    2023-04-04
  • MySQL表中添加时间戳的几种方法

    MySQL表中添加时间戳的几种方法

    这篇文章主要介绍了MySQL表中添加时间戳的几种方法,有张表的数据需要用同步工具同步至其他库,需要 update_time 时间戳字段 来做增量同步,需要的朋友可以参考下
    2019-06-06
  • 深入理解MySQL事务特性与自动提交

    深入理解MySQL事务特性与自动提交

    事务以及事务隔离机制,其实是所有关系型数据库都有的问题,本文主要介绍了深入理解MySQL事务特性与自动提交,具有一定的参考价值,感兴趣的可以了解一下
    2024-07-07
  • MySQL中binlog+dump备份还原详细教程

    MySQL中binlog+dump备份还原详细教程

    MySQL备份是指将MySQL数据库中的数据进行备份,以便在需要的时候能够恢复数据,下面这篇文章主要给大家介绍了关于MySQL中binlog+dump备份还原的相关资料,需要的朋友可以参考下
    2023-05-05

最新评论