SHOW CREATE DATABASE school -- 查看创建数据库的语句 SHOW CREATE TABLE student -- 查看student数据表的定义语句 DESC student -- 显示表的结构P11 修改和删除数据表字段
-- 修改表 ALTER TABLE teacher RENAME AS teacher1 -- 增加字段 ALTER TABLE teacher1 ADD age INT(11) -- 修改表字段 ALTER TABLE teacher1 MODIFY age VARCHAr(11) ALTER TABLE teacher1 CHANGE age age1 INT(1) -- 删除表字段 ALTER TABLE teacher1 DROP age1 -- 删除表 DROP TABLE IF EXISTS teacher1 -- 注意点 -- 1.字段名使用`` -- 2.注释 -- 3.关键字大小写不敏感,建议小写 -- 4.所有符号用英文P12 数据库级别的外键
外键–DML语言-增删改查
-- 方式一 CREATE TABLE `grade`( `gradeid` INT(10) NOT NULL AUTO_INCREMENT COMMENT '年级id', `gradename` VARCHAr(50) NOT NULL COMMENT '年级名称', PRIMARY KEY (`gradeid`) )ENGINE=INNODB DEFAULT CHARSET=utf8 -- 定义外键key -- 给外键添加约束 CREATE TABLE IF NOT EXISTS `student`( `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号', `name` VARCHAr(30) NOT NULL DEFAULT '匿名' COMMENT '姓名', `pwd` VARCHAr(20) NOT NULL DEFAULT '123456' COMMENT '密码', `sex` VARCHAr(2) NOT NULL DEFAULT '女' COMMENT '性别', `birthday` DATETIME DEFAULT NULL COMMENT '出生日期', `gradeid` INT(10) NOT NULL COMMENT '学生的年级', `address` VARCHAr(100) DEFAULT NULL COMMENT '家庭住址', `email` VARCHAr(50) DEFAULT NULL COMMENT '邮箱', PRIMARY KEY(`id`), KEY `FK_gradeid` (`gradeid`), CONSTRAINT `FK_gradeid` FOREIGN KEY (`gradeid`) REFERENCES `grade`(`gradeid`) )ENGINE=INNODB DEFAULT CHARSET=utf8 -- 方式二 CREATE TABLE `grade`( `gradeid` INT(10) NOT NULL AUTO_INCREMENT COMMENT '年级id', `gradename` VARCHAr(50) NOT NULL COMMENT '年级名称', PRIMARY KEY (`gradeid`) )ENGINE=INNODB DEFAULT CHARSET=utf8 -- 定义外键key -- 给外键添加约束 CREATE TABLE IF NOT EXISTS `student`( `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号', `name` VARCHAr(30) NOT NULL DEFAULT '匿名' COMMENT '姓名', `pwd` VARCHAr(20) NOT NULL DEFAULT '123456' COMMENT '密码', `sex` VARCHAr(2) NOT NULL DEFAULT '女' COMMENT '性别', `birthday` DATETIME DEFAULT NULL COMMENT '出生日期', `gradeid` INT(10) NOT NULL COMMENT '学生的年级', `address` VARCHAr(100) DEFAULT NULL COMMENT '家庭住址', `email` VARCHAr(50) DEFAULT NULL COMMENT '邮箱', PRIMARY KEY(`id`) )ENGINE=INNODB DEFAULT CHARSET=utf8 -- 创建表的时候没有外键关系 ALTER TABLE `student` ADD CONSTRAINT `FK_gradeid` FOREIGN KEY(`gradeid`) REFERENCES `grade`(gradeid);
以上操作都是物理外键,数据库级别的外键,我们不建议使用
数据库应该就是单纯的表,只用来存数据,只有行列
想使用多张表的数据,使用外键,这里我们使用程序使用
P13 Insert语句详解-- 插入语句
INSERT INTO `grade`(`gradename`) VALUES('大四')
-- 由于主键自增,我们可以省略。如果不写表字段,就会自动一一匹配
INSERT INTO `grade` VALUES('大四')
-- 插入多个字段
INSERT INTO `grade`(`gradename`) VALUES('大二'),('大一')
INSERT INTO `student`(`name`) VALUES ('张三')
INSERT INTO `student`(`name`,`pwd`,`sex`) VALUES ('张三','1234567','男'),('李四','1234567','男')
P14 update语句详解
-- 修改学员名字 UPDATE `student` SET `name`='狂神' WHERe id = 1; -- 不指定条件,会改动所有表 UPDATE `student` SET `name`='狂神'; -- 修改多个属性 UPDATE `student` SET `name`='狂神',`email`='1234@qq.com' WHERe id = 1; UPDATE `student` SET `name`='狂神',`email`='1234@qq.com' WHERe `name`='狂神' and sex='女';



