MySQL数据管理操作示例讲解

吾爱主题 阅读:138 2022-12-24 16:31:00 评论:0

外键

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

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

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

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

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

DML语言

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

DML语言:数据操作语言

insert  update  delete

添加 insert

?
1 2 3 4 5 6 7 8 9 10 11 12 -- 插入语句 -- 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

?
1 2 3 4 5 6 7 -- 修改学员的名字 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 是一个具体的值,也可以是一个变量
?
1 update student set birthday= current_time where id = 1

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

删除 delete

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

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

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

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

?
1 2 -- 清空grade表 truncate grade

delete和truncate的区别

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

不同:

  • truncate会重新设置自增列,计数器会归零
  • truncate不会影响事务
?
1 2 3 4 5 6 7 8 9 10 -- 测试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数据管理内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_53954158/article/details/128378790

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容