【MySQL】数据操纵语言(DataManipulationLanguage,DML)的学习

一、插入

SELECT * FROM student;
SELECT * FROM major;
# 方式一: insert 表名(列名,列名,列名,。。。)values(值1,值2,值3,。。。)
# 表后面的列名有几个,values 里面的值就得有几个,顺序值的顺序必须和列的顺序匹配,必须符合所有的约束
INSERT INTO student(id,stuname,gender,majorid)VALUES(1,'Tom','女',2);
SELECT * FROM student;


# 方式二:insert 表名 Values(值1,值2,值3,。。。),一次性插入所有的列的值
# 必须写入所有的列,列的顺序必须是建表的顺序,值的顺序必须和列的顺序一致
INSERT INTO student VALUES(2,'jerry','1995-10-12',NULL,DEFAULT,1001,1);
SELECT * FROM student;


对于INSERT 的时候主键确定的问题,这里下面采用一种主键自增的方法


P.S:记住不要手动插入主键的值
DROP TABLES IF EXISTS stuinfo;
USE myemployees;
CREATE TABLE IF NOT EXISTS stuinfo(
      id INT PRIMARY KEY AUTO_INCREMENT ,# 主键,列值不需要手动插入,默认从开始每次增长1;
      stuname VARCHAR(20) NOT NULL, # 非空
      borndate 	DATETIME ,
      email VARCHAR(20) CHECK (email LIKE '%@%'), # 检查
      gender CHAR(1) DEFAULT '男', # 默认
      seat INT UNIQUE ,# 唯一
      majorId INT,  # 这个是外键
      # FOREIGN KEY(majorid)majorId就是外键列,外键所在的表叫从表,REFERENCE引用 major 是主表,主表必须出主键,id 一定是 major 的主键。   
      
      CONSTRAINT fk_major_studio FOREIGN KEY (majorid) REFERENCES major(id)  
      # 在这里是majorId引用 major 的id来充当外键,fk_major_studio 起名字起的 见名知意
      );
      
SELECT * FROM stuinfo;

# 方式三:主键由自增列增加,手动插入其他值
INSERT INTO stuinfo(stuname,gender,majorid)VALUES('maomao','MALE',3);
SELECT * FROM stuinfo;

二、 更新

UPDATE 表名 SET 列名 = 新值,列名 = 新值,列名 = 新值,。。。 WHERE 检索条件
UPDATE stuinfo SET gender = '女',seat = '1001' WHERE stuname = 'ruhua';
SELECT * FROM stuinfo;

# 修改学员编号为 1 的同学的电子邮箱为:sanmao@163.com,座位编号1为1002,性别改为女
UPDATE stuinfo SET email = 'sanmao@163.com',seat = 1002,gender = '女' WHERE id = 1;
SELECT * FROM stuinfo;

三、 删除

# 删除的时候一删删一行,不能在delete关键字和from关键字中间加入任何内容
# 当这一行数据的主键正在被其他表的外键引用的时候,这行数据不能被删除。如果非要删除,需要先删除从表的数据,再删除主表的数据
# 主键可以改,但是一般不要改
DELETE FROM stuinfo WHERE stuid = 3 AND seat = '19001';
SELECT * FROM stuinfo;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值