MYSQL数据管理
3.1外键(了解即可)
方式一 在创建表的时候,增加外键(麻烦比较复杂)
删除有外键关系的表的时候,必须要先删除引用别人的表(从表),再删除被引用的表(主表)
创建表的时候没有外键关系 添加外键
ALTER TABLE student
ADD CONSTRAINT ‘FK_gradeid’ FOREIGN KEY(‘gradeid’)
EFERENCES grade
(‘gradeid’);
– ALTER TABLE 表 ADD CONSTRAINT 约束名 FOREIGN KEY(作为外键的列) REFERENCES
哪个表(哪个字段)
以上操作都是物理外键,数据库级别的外键,我们不建议使用!(避免数据库过多造成困扰,这里了解即可!)
最佳实践
数据库就是单纯的表,只用来存数据,只有行(数据)和列(字段)
我们想使用更多张表的数据,想使用外键(尽量在程序中实现)
3.2DML语言(全部记住)
数据库意义:数据存储,数据管理
DML语言:数据操作语言
Insert
3.3添加
insert into
– 插入语句(添加)
– insert into 表名([字段1,字段2,字段3])values(‘值1’,‘值2’)
INSERT INTO grade
(gradeid
)VALUES(‘呵呵’)
– 一般写插入语句,一定要数据和字段一一对应!
INSERT INTO student
(name
)VALUES(‘大一’),(‘大二’)
语法:insert into 表名([字段1,字段2,字段3])values(‘值1’,‘值2’)
注意事项
1.字段和字段之间使用英文逗号隔开
2.字段是可以省略,但是后面的值必须一一对应,不能少
3.可以同时插入多条数据values后面的值,需要使用,隔开即可 values(),(),
3.4修改
update 修改谁 (条件) set 原来的值=新值
– 指定条件
UPDATE student
SET name
=‘yan’ WHERE id=1
– 不指定条件情况默认全部修改
UPDATE student
SET name
=‘yan’
– 修改多个属性,逗号隔开
UPDATE student
SET name
=‘yan’,pwd
=‘654321’,sex=‘男’ WHERE id = 2;
条件:where 子句运算符id等于某个值,大于某个值,在某个区间内修改…
语法:update 表名 set colnum_name = value,[colnum_name = value,…] where [条件]
注意事项:
1.colnum_name 是数据库的列,尽量带上``
2.条件,筛选的条件,如果没有指定则会默认修改所有的列
3.value 是一个具体的值,也可以是一个变量
4.多个设置的属性之间,使用英文的逗号隔开
3.5 删除
delete 命令
语法:delete from 表名 [where 条件]
– 删除数据 (避免这样写,会删除全部数据)
DELETE FROM student
– 删除指定数据
DELETE FROM student
WHERE id= 1
TRUNCATE 命令
作用:完全清空一个数据库表,表的结构和索引约束不会变。
清空student表
TRUNCATE student
delete 命令 和 TRUNCATE 命令区别
相同点: 都能删除数据,都不会删除表结构
不同点:
TRUNCATE 重新设置自增列 计数器会归零
TRUNCATE 不会影响事务