DML语言~~刚需

#创建外键方式一:创建子表的同时创建外键
#年级表(id\年及名称)
CREATE TABLE IF NOT EXISTS grade(
gradeid INT(10) PRIMARY KEY AUTO_INCREMENT, #主键garde
gradename VARCHAR(50) NOT NULL

);
#学生信息表(学号,性名,性别,年级,手机号,地址,出生日期,邮箱,身份证号)
CREATE TABLE student(
studentno INT(4) PRIMARY KEY, #学号int类型主键
studentname VARCHAR(20) NOT NULL DEFAULT’姜言荣’, #学生姓名长度20不能为空默认是姜言荣
sex TINYINT(1) DEFAULT 1, #性别 1代表男的
gradeid INT(10), #外键年级
phone VARCHAR(50) NOT NULL, #手机号不能为空
address VARCHAR(255), #家庭住址
borndate DATETIME, #出生日期
email VARCHAR(50), #邮箱
identityCard VARCHAR(18) NOT NULL, #身份证号长度18位 不能为空
CONSTRAINT FK_gradeid FOREIGN KEY(gradeid) REFERENCES grade(gradeid) #我创建外键约束

);

#创建外键方式二:创建子表完毕后,修改子表添加外键
CREATE TABLE student(
studentno INT(4) PRIMARY KEY, #学号int类型主键 自增的列
studentname VARCHAR(20) NOT NULL DEFAULT’姜言荣’, #学生姓名长度20不能为空默认是姜言荣
sex TINYINT(1) DEFAULT 1, #性别 1代表男的
gradeid INT(10), #外键年级
phone VARCHAR(50) NOT NULL, #手机号不能为空
address VARCHAR(255), #家庭住址
borndate DATETIME, #出生日期
email VARCHAR(50), #邮箱
identityCard VARCHAR(18) NOT NULL #身份证号长度18位 不能为空

);

ALTER TABLE student #修改表
ADD CONSTRAINT FK_gradeid FOREIGN KEY(gradeid) REFERENCES grade(gradeid); #我创建外键约束

#删除具有主外键关系的表时,要先删除子表,再删主表。

#删除外键

ALTER TABLE student DROP FOREIGN KEY FK_gradeid; #我去修改student表把他的外键删除+外键名
ALTER TABLE student DROP INDEX FK_gradeid; #执行完上一步之后 还会存在 是因为有索引 本句就是再把索引删除

#使用语句如何增加数据
INSERT INTO grade(gradename)VALUES(‘大一’);
INSERT INTO grade VALUES(2,‘大二’); #可以增加但是失去了自增的意义
INSERT INTO grade(gradename)VALUES(‘大三’),(‘大四’); #实现同时增加

INSERT INTO student(studentno,studentname,sex,gradeid,phone,address,borndate,email,identityCard)
VALUES(1000,‘张三’,DEFAULT,1,‘18704529482’,‘中国’,NOW(),NULL,‘23345678907654367’), #NOW()代表当前时间
(1001,‘李四’,DEFAULT,2,‘18704529482’,‘北疆’,NOW(),NULL,‘66645678907654367’),
(1002,‘马武’,DEFAULT,3,‘18704529482’,‘东北’,NOW(),NULL,‘23345678907654367’);

#使用语句修改数据
#将李四的地址修改为南京
UPDATE student SET address=‘南京’
WHERE studentno=1001

#同时修改多列
UPDATE student SET address=‘南京’,email=‘lisi@163.com’
WHERE studentno=1001

#条件可以使用运算符
UPDATE student SET sex=2
WHERE studentno=1001 OR studentno=1002

UPDATE student SET sex=1
WHERE studentno>=1000 AND studentno<=1002

#在1001和1002之间 并且包括1001和1002
UPDATE student SET sex=2
WHERE studentno BETWEEN 1001 AND 1002

#使用函数
#在名字前加 姓名:

CONCAT 为追加字符串

UPDATE student SET studentname=CONCAT(“姓名:”,studentname)

#删除数据
#删除大四 因为大四的 grade 是 4 所以
DELETE FROM grade WHERE gradeid=4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值