MySQL数据管理(一)(外键,DML语言)

MySQL数据管理(一)(外键,DML语言)

1.外键(物理外键,数据库级别)

--方式一:在创建表的过程中建立外键关系
KEY `FK_name`(`name`),    --定义外键
CONSTRAINT `FK_name` FOREIGN KEY(`name`) REFERENCE `anotherTableName`(`name`)  --引用约束
--方式二:在创建完表后在进行建立外键关系
ALTER TABLE tableName
ADD CONSTRAINT `FK_name` FOREIGN KEY(`name`) REFERENCE `anotherTableName`(`name`)--定义同时约束
  • 不推荐数据库级别的外键使用,最好让数据库只管理行和列,外键用其他程序实现
  • 被引用表不能被之间删除!!!必须先删除主表!!!!

2.DML语言

2.1添加

INSERT 语句

-- INSERT 语句   
INSERT INTO `student`(`name`,`pwd`,`sex`,`birthday`,`address`,`email`) 
VALUES (‘LJJ‘,‘5465‘,‘男‘,‘2000-11-22‘,‘哈哈哈‘,‘2809881362@qq.com‘),
        (‘JJL‘,‘5465‘,‘男‘,‘2000-11-22‘,‘哈哈哈‘,‘2809881362@qq.com‘)

语法:INSERT INTO 表名 (字段名1,字段名2,字段名3) VALUES (‘字段值1‘,‘字段值2‘,‘字段值3‘),(‘字段值1‘,‘字段值2‘,‘字段值3‘).........

TIP:

  • 字段名和字段值一一对应!
  • 可以一次添加多条语句,用(),分割!
  • 字段名可以省略!但是最好不要使用!!!

2.2修改

UPDATE 语句

--UPDATE 语句
UPDATE `student` SET `name`=‘asdasd‘ WHERE id=2    --限定条件的UPDATE语句
UPDATE `student` SET `name`=‘asdasd‘               --不限定条件的语句!会改动所有的记录相应字段值
--语法: UPDATE 
update `表名` set `字段名`=‘value1‘,`字段名2`=‘value2‘ [where 添加约束]

约束运算符

运算符 含义
> 大于
< 小于
= 等于
<> 或 != 不等于
BETWEEN.....AND 在范围内
AND &&
OR ||
NOT !
>= 大于等于
<= 小于等于

TIP

  • 注意添加限定筛选条件,防止对所有记录进行修改!!!

  • 一次可以修改多个字段,但是要用逗号隔开

  • value的值既可以用明确的值,也可以用变量!!!

  • UPDATE `student`SET `birthday`=CURRENT_TIME WHERE id=2 --修改字段值为当前系统时间
    

-MySQL数据管理(一)(外键,DML语言)

2.3删除

DELETE 语句

---- delete语句
DELETE FROM `student` WHERE id=2

DELETE FROM `student`        -- 不加约束条件的DELETE语句,会删除所有的数据库记录!!!!
-- 语法 delete
DELETE FROM `表名` [WHERE 约束条件] 

TRUNCATE 语句

--TRUNCATE 语句
TRUNCATE `student`     --删除数据表
--语法:TRUNCATE
TRUNCATE `表名`

TRUNCATE 和DELETE 的删除区别

  • TRUNCATE 的删除不影响事N务 ,DELETE会!!!
  • TRUNCATE 的删除重置自增列N计数器,而DELETE不会重置!!!
  • 【手动滑稽】truncate 更适合删库跑路

MySQL数据管理(一)(外键,DML语言)

上一篇:mysql建表和建数据库语句


下一篇:[转]Go语言TCP Socket编程