MySQL数据管理操作示例讲解
洋圏外の彼女 人气:0外键
方式一:在创建表的时候,增加约束
删除有外键的表的时候,要先删除引用外键的表
物理外键:不建议使用,数据库级别的外键,不建议使用!(避免数据库过多造成困扰)
数据库就是单纯的表,只用来存数据,只有行(数据)和列(字段)
我们想使用多张表的数据,想使用外键,用程序去实现即可
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 继续从上一个自增列开始(存在文件当中,不会丢失)
加载全部内容