代码建立MYSQL@狂神说

目标:创建一个schooled数据库:

创建学生表(列,字段) 使用SQL创建

学号int 登录密码varchar(20)姓名,性别varchar(2)出生日期(datatime)

家庭住址,Email 

注意点,使用英文() 表的名称 和字段尽量使用``扩起来

AUTO_INCREMENT 自增,字符串使用,单括号括起来

所有的语句后加,(英文的),最后一个不用加

PRIMARY KEY 主键 ,一般一个表只有一个唯一的主键!

1、CREATE DATABASE IF NOT EXISTS schooled; 

2、创建表students

CREATE TABLE IF NOT EXISTS `students`()

`id` int(4) not null auto_increment comment '学号'

`name` varchar(2) not null Default '匿名' comment '姓名',

show create database school  查看创建数据库语句

show create table student 查看student数据表定义的语句

修改,删除表

alter TABLE TEACHER RENAME AS TEACHER1

333,MySQL的数据管理

3.1 外键 了解即可(约束)

3.2 DML 语言全部记住背下来

3.3 添加

3.4修改delete

CREATE TABLE IF NOT EXISTS `subject`(

    `SubjectNo` INT(4) NOT NULL AUTO_INCREMENT  COMMENT 'SubjectNo',
    `SubjectName` VARCHAR(20) NOT NULL COMMENT 'SubjectName',
    `ClassHour` VARCHAR(4)  NOT NULL COMMENT 'ClassHour',
    `GradeId` VARCHAR(2) NOT NULL COMMENT 'ClassHour',
    
    PRIMARY KEY (`SubjectNo`)
)ENGINE=INNODB DEFAULT CHARSET=utf8mb4

INSERT INTO `subject`(`SubjectNo`,`SubjectName`,`ClassHour`,`GradeId`) VALUES (1,'高等数学-1',110,1),(2,'高等数学-2',110,2),
(3,'高等数学-3',110,3),(4,'高等数学-4',110,4);

CREATE TABLE IF NOT EXISTS `student` (
  `StudentNo` INT(4) NOT NULL COMMENT '学号',
  
  `LoginPwd` VARCHAR(20) NOT NULL ,
  
  `StudentName` VARCHAR(20) DEFAULT NULL COMMENT '学生姓名',
  
  `Sex` TINYINT(1) DEFAULT NULL COMMENT '性别,取值0或1',
  
   `GradeId` INT(11) DEFAULT NULL COMMENT '年级编号',
   
   `Phone` VARCHAR(50) NOT NULL COMMENT '联系电话,允许为空,即可选输入',
   
    `Address` VARCHAR(250) NOT NULL COMMENT '地址,允许为空,即可选输入',
    
  `BornDate` DATETIME DEFAULT NULL COMMENT '出生日期',
  
  `Email` VARCHAR(50) NOT NULL COMMENT '邮箱账号,允许为空,即可选输入' ,
  
  `IdentityCard` VARCHAR(18) DEFAULT NULL COMMENT '身份证号',
  
  PRIMARY KEY (`StudentNo`),
  UNIQUE KEY `IdentityCard` (`IdentityCard`), 
  KEY `Email` (`Email`)
 
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4;

INSERT INTO `student` VALUES  (100000,111111,'周丹',1,1,15762271223,'山东省青岛市黄岛区',20080808,'test@qq.com','123456789abcdefghi');

CREATE TABLE IF NOT EXISTS `subject`(

    `SubjectNo` INT(4) NOT NULL AUTO_INCREMENT  COMMENT 'SubjectNo',
    `SubjectName` VARCHAR(20) NOT NULL COMMENT 'SubjectName',
    `ClassHour` VARCHAR(4)  NOT NULL COMMENT 'ClassHour',
    `GradeId` VARCHAR(2) NOT NULL COMMENT 'ClassHour',
    
    PRIMARY KEY (`SubjectNo`)
)ENGINE=INNODB DEFAULT CHARSET=utf8mb4

INSERT INTO `subject`(`SubjectNo`,`SubjectName`,`ClassHour`,`GradeId`) VALUES (1,'高等数学-1',110,1),(2,'高等数学-2',110,2),
(3,'高等数学-3',110,3),(4,'高等数学-4',110,4);

CREATE TABLE IF NOT EXISTS `student` (
  `StudentNo` INT(4) NOT NULL COMMENT '学号',
  
  `LoginPwd` VARCHAR(20) NOT NULL ,
  
  `StudentName` VARCHAR(20) DEFAULT NULL COMMENT '学生姓名',
  
  `Sex` TINYINT(1) DEFAULT NULL COMMENT '性别,取值0或1',
  
   `GradeId` INT(11) DEFAULT NULL COMMENT '年级编号',
   
   `Phone` VARCHAR(50) NOT NULL COMMENT '联系电话,允许为空,即可选输入',
   
    `Address` VARCHAR(250) NOT NULL COMMENT '地址,允许为空,即可选输入',
    
  `BornDate` DATETIME DEFAULT NULL COMMENT '出生日期',
  
  `Email` VARCHAR(50) NOT NULL COMMENT '邮箱账号,允许为空,即可选输入' ,
  
  `IdentityCard` VARCHAR(18) DEFAULT NULL COMMENT '身份证号',
  
  PRIMARY KEY (`StudentNo`),
  UNIQUE KEY `IdentityCard` (`IdentityCard`), 
  KEY `Email` (`Email`)
 
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4;

INSERT INTO `student` VALUES  (100000,111111,'周丹',1,1,15762271223,'山东省青岛市黄岛区',20080808,'test@qq.com','123456789abcdefghi');
INSERT INTO `student` VALUES  (100001,111112,'周2丹',1,1,15762271223,'山东省青岛市黄岛区',20080808,'test@qq.com','123476789abcdefghi');
INSERT INTO `student` VALUES  (100002,111113,'周3丹',1,1,15762271223,'山东省青岛市黄岛区',20080808,'test@qq.com','123486789abcdefghi');
INSERT INTO `student` VALUES  (100004,111114,'周4丹',1,1,15762271223,'山东省青岛市黄岛区',20080808,'test@qq.com','173456789abcdefghi');
INSERT INTO `student` VALUES  (100005,111115,'周5丹',1,1,15762271223,'山东省青岛市黄岛区',20080808,'test@qq.com','127456789abcdefghi');
INSERT INTO `student` VALUES  (100006,111116,'周6丹',1,1,15762271223,'山东省青岛市黄岛区',20080808,'test@qq.com','123476789abcdefghi');
INSERT INTO `student` VALUES  (100007,111117,'周8丹',1,1,15762271223,'山东省青岛市黄岛区',20080808,'test@qq.com','1234586789abcdefghi');
INSERT INTO `student` VALUES  (100008,111118,'周7丹',1,1,15762271223,'山东省青岛市黄岛区',20080808,'test@qq.com','123456389abcdefghi');
INSERT INTO `student` VALUES  (100003,111119,'周9丹',1,1,15762271223,'山东省青岛市黄岛区',20080808,'test@qq.com','123446789abcdefghi');


--查询
SELECT * FROM student
SELECT * FROM result

--指定字段查询
SELECT `StudentNo`,`StudentName` FROM student

--起别名 给查询结果起一个别名 AS
SELECT `StudentNo` AS 学号,`StudentName` AS 学生姓名 FROM student

--函数 concat(A,B)
SELECT CONCAT('姓名: ',StudentName) AS 新名字 FROM student

-------=========================查询====================================--------

--查询姓李的同学
--like 结合%(代表0到任一字符) (一个字符)
SELECT `StudentNO` ,`StudentName` FROM student
WHERE StudentName LIKE '周%'

SELECT `StudentNO` ,`StudentName` FROM student
WHERE StudentName LIKE '周_'

SELECT `StudentNO` ,`StudentName` FROM student
WHERE StudentName LIKE '周__'

SELECT `StudentNO` ,`StudentName` FROM student
WHERE StudentName LIKE '%3%'

SELECT `StudentNo` ,`StudentName` FROM student
WHERE StudentNo IN (100000,100001,100002)

-------=========================连表查询================================--------

--jion理论

--查询参加考试的同学(学号,姓名,科目编号,分数)
SELECT * FROM student
SELECT * FROM result

SELECT s.StudentNo,StudentName,SubjectNo,StudentResult
FROM student AS s
INNER JOIN result AS r
WHERE s.StudentNo=r.StudentNo


/*--思路

1、分析需求,分析要查询的字段来自那个表

2、确定使用那种连接查询?7中
确定交叉点,(这两个表哪些数据是相同的)
判定条件:学生表中的studentNO=成绩表中的studentno
*/--思路 

--right jion 
SELECT s.StudentNo,StudentName,SubjectNo,StudentResult
FROM student  s
RIGHT JOIN result  r
ON s.StudentNo=r.StudentNo 
 

  • 27
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
狂神MySQL是一门非常常用的数据库技术,在软件开发中被广泛应用。MySQL是一种关系型数据库管理系统,支持多线程、多用户的访问。MySQL具有很高的可伸缩性和灵活性,可以根据应用的需求进行配置和扩展。 狂神MySQL笔记PTF非常有价值,主要包括以下几个方面: 首先,笔记中详细介绍了MySQL的安装和配置。MySQL的安装过程可能会遇到一些问题,狂神通过笔记中的步骤和注意事项,帮助读者顺利完成安装和配置,并且讲解了一些常见的配置选项的意义和用法。 其次,笔记中深入解析了MySQL的基本概念和语法。MySQL是一种SQL数据库,而SQL语言是与之交互的重要工具。狂神通过简洁明了的语言和实例演示,教会读者如何创建数据库、表格,以及如何插入、更新和删除数据等基本操作。 再次,狂神在笔记中重点讲解了MySQL的高级应用和优化技巧。MySQL在大型项目中可能面临很高的负载和并发访问,因此如何优化数据库查询性能是非常重要的。笔记中包含了索引的创建和使用、查询优化的技巧、事务管理等方面的内容,帮助读者提高数据库的效率和性能。 最后,笔记中还包含了一些MySQL与其他工具和技术的整合,比如MySQL与Java的结合、MySQL的备份与恢复、MySQL集群等。通过学习这些内容,读者可以更全面地掌握MySQL在现实项目中的应用。 总之,狂神MySQL笔记PTF是一份非常实用且全面的学习资料,不仅帮助初学者快速入门,也能让有一定经验的开发者深入了解MySQL的各个方面。它的存在对于学习和使用MySQL的人来是一份非常宝贵的资料。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值