1 创建表
-- 学生表 create TABLE `student`( `id` INT(4) NOT NULL auto_increment COMMENT '学号', `name` VARCHAR(10) NOT NULL DEFAULT '匿名' COMMENT '姓名', `pwd` VARCHAR(20) NOT NULL DEFAULT '1234' COMMENT '密码', `sex` VARCHAR(2) NOT NULL DEFAULT '男' COMMENT '性别', `birthday` DATETIME DEFAULT NULL COMMENT '出生日期', `email` VARCHAR(30) DEFAULT NULL COMMENT '电子邮件', `gradeid` INT(4) NOT NULL COMMENT '年级id', PRIMARY KEY(`id`) )ENGINE=INNODB CHARSET=utf8
-- 年级表 CREATE TABLE `grade`( `gradeid` INT(4) NOT NULL auto_increment COMMENT '年级id', `gradename` VARCHAR(50) not NULL COMMENT '年级名称', PRIMARY KEY(`gradeid`) )ENGINE=INNODB CHARSET=utf8
2 添加外键
-- 创建外键关系 ALTER TABLE `student` add CONSTRAINT `FK_gradeid` FOREIGN KEY(`gradeid`) REFERENCES `grade`(`gradeid`)
不要在创建表的时候写外键,要写到外部
甚至尽量不要在数据库层面写外键,尽量在应用级写(阿里规范)
3 插入语句
-- 插入语句 INSERT INTO `grade`(`gradename`) VALUES('大三')
-- 插入多个字段 INSERT INTO `grade`(`gradename`) VALUES('大二'),('大一')
INSERT INTO `student`(`name`,`pwd`,`sex`,`gradeid`) VALUES('张三','123','男','1') INSERT INTO `student`(`name`,`pwd`,`sex`,`gradeid`) VALUES('小明','456','女','2') INSERT INTO `student`(`name`,`pwd`,`sex`,`gradeid`) VALUES('田七','00','男','3') INSERT INTO `student`(`name`,`pwd`,`sex`,`gradeid`) VALUES('胖虎','100','男','1') INSERT INTO `student`(`name`,`pwd`,`sex`,`gradeid`) VALUES('小夫','012','男','2') INSERT INTO `student`(`name`,`pwd`,`sex`,`gradeid`) VALUES('大雄','245','男','4') INSERT INTO `student`(`name`,`pwd`,`sex`,`gradeid`) VALUES('静香','156','女','4')
4 修改语句
-- 修改表 UPDATE `student` set `name`='李四' where id=1
必须要加where
-- 修改多个属性 UPDATE `student` SET `name`='埼玉',`email`='2341123@qq.com' WHERE id=2
多个属性使用逗号隔开
5 删除语句
-- 删除语句 DELETE FROM `student` where id=1
-- 清空数据库(表的结构和索引不会变) TRUNCATE `student`
相同点:都不会删除表的结构
不同点:
TRUNCATE 重新设置自增列,不会影响事务
DELETE 相反
6 选择
-- 查询 SELECT * FROM student -- 查询指定字段 select `studentname`,`address` FROM student -- 起别名 SELECT `studentname` as 学号,`address` as 地址 FROM student -- 函数 CONCAT() SELECT CONCAT('姓名:',studentname) as 新名字 FROM student