外键
方式一:在创建表的时候,增加约束
删除有外键的表的时候,要先删除引用外键的表
物理外键:不建议使用,数据库级别的外键,不建议使用!(避免数据库过多造成困扰)
数据库就是单纯的表,只用来存数据,只有行(数据)和列(字段)
我们想使用多张表的数据,想使用外键,用程序去实现即可
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数据管理内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!
MySQL数据管理操作示例讲解
- Author -
洋圏外の彼女- Original Sources -
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@