MySQL数据库管理

外键管理

表已经存在的情况下加外键:

alter table 表1名 add constraint 外键名
foreign key (表1的字段)references 表2(表2的字段)

解除外键:

ALTER TABLE `subject`
  DROP FOREIGN KEY grade_sub_id ;

建表时加外键:

CREATE TABLE `subject`(
SubjectNo INT(11) PRIMARY KEY,
SubjectName VARCHAR(10),
ClassHour INT(4),
GradeID INT(4),
CONSTRAINT grade_sub_id FOREIGN KEY(GradeID)
REFERENCES grade(GradeID)
);

查询表格的所有外键:

SELECT
  TABLE_SCHEMA,
  `TABLE_NAME`,
  `REFERENCED_TABLE_SCHEMA`,
  `REFERENCED_TABLE_NAME` ,
  `CONSTRAINT_NAME`
FROM
  KEY_COLUMN_USAGE
WHERE `REFERENCED_TABLE_NAME` = 'grade' ;

DML语言

INSERT命令–添加数据

INSERT INTO  表名  [ ( 字段1, 字段2, 字段3, … ) ]  VALUES  (  '值1', '值2', '值3', …)
  • 字段或值之间用英文逗号隔开

  • “字段1, 字段2…”该部分可省略,但添加的值务必与表结构数据列顺序相对应,且数量一致

  • 可同时插入多条数据,values 后用英文逗号隔开

UPDATE命令—修改数据

UPDATE   表名   
 SET    column_name = value  [ ,  column_name2 = value2, …. ]  [ WHERE   condition ];
  • column_name 为要更改的数据列
  • value 为修改后的数据,可以为变量、具体值、表达式或者嵌套的SELECT结果
  • condition为筛选条件,如不指定则修改该表的所有列数据
WHERE条件子句

在这里插入图片描述

删除数据

DELETE命令
DELETE     FROM   表名  [ WHERE  condition ]; 

condition为筛选条件,如不指定则删除该表的所有列数据

TRUNCATE命令
TRUNCATE     [TABLE]    table_name

用于完全清空表数据,但表结构、索引、约束等不变

区别于DELETE命令:
相同

  • 都能删除数据、不删除表结构,但TRUNCATE 速度更快

不同

  • 使用TRUNCATE TABLE重新设置AUTO_INCREMENT计数器
  • 使用TRUNCATE TABLE不会对事务有影响
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值