博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库的简单操作
阅读量:4540 次
发布时间:2019-06-08

本文共 2716 字,大约阅读时间需要 9 分钟。

## 删除数据库

DROP DATABASE t14

## 添加库T14

CREATE DATABASE t14

## 添加student表

CREATE TABLE student

(
studentNo INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
loginPwd VARCHAR(20) NOT NULL,
studentName VARCHAR(32) NOT NULL,
sex CHAR(2) DEFAULT '男' NOT NULL,
gradeId INT NOT NULL,
phone VARCHAR(32) NOT NULL,
address VARCHAR(255) DEFAULT '地址不详',
bornDate DATETIME,
email VARCHAR(32),
identityCard VARCHAR(18) UNIQUE KEY
)

## 添加grade表

CREATE TABLE grade
(
gradeId INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
gradeName VARCHAR(32) NOT NULL
)

## 添加subject表

CREATE TABLE `subject`
(
subjectId INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
subjectName VARCHAR(32),
gradeId INT,
classHour INT
)

## 添加result表

CREATE TABLE result
(
id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
studentNo INT NOT NULL,
subjectId INT NOT NULL,
examDate DATETIME,
studentResult INT
)

## 添加外键约束

ALTER TABLE student
ADD CONSTRAINT FK_grade_student_gradeId FOREIGN KEY(gradeId)
REFERENCES grade(gradeId)
ALTER TABLE SUBJECT
ADD CONSTRAINT FK_grade_subject_gradeId FOREIGN KEY(gradeId)
REFERENCES grade(gradeId)
ALTER TABLE result
ADD CONSTRAINT FK_subject_result_subjectId FOREIGN KEY(subjectId)
REFERENCES SUBJECT(subjectId)
ALTER TABLE result
ADD CONSTRAINT FK_student_result_studentNo FOREIGN KEY(studentNo)
REFERENCES student(studentNo)
## 向表grade表中添加数据
INSERT INTO grade(gradeName)
VALUES('T14')

## 向表student表中添加数据

INSERT INTO student
(studentNo,loginPwd,studentName,sex,gradeId,phone,address,bornDate,email,identityCard)
VALUES(1,'0000','张三','男',1,'188','中国','2017年7月11日17:51:15','qq@126.com','410149199901010000')

## 向表result表中添加数据

INSERT INTO result(studentNo,subjectId,examDate,studentResult)
VALUES(1,1,'2017年7月11日18:00:51',80);

## 向表subject表中添加数据

INSERT INTO SUBJECT(subjectName,gradeId,classHour)
VALUES('语文',1,60),('数学',1,60);

## 备份student表

CREATE TABLE student1

(SELECT * FROM student)

## 修改表中数据

UPDATE student SET studentName = '李四' WHERE studentNo=1;

##查询数据,并按要求升降序排列

SELECT * FROM student
WHERE gradeId=1
ORDER BY sex DESC,borndate ASC;

##将firstName和lastName列合并成’姓名‘列

SELECT firstName+'.'+lastName AS 姓名 FROM employee;

 

##查询空值,此时用is null

SELECT studentName FROM student
WHERE email IS NULL;

常用函数:

聚合函数:sum();avg();count();max();min()

字符串函数:select concat('my','s','ql') 返回 mysql

                      select insert('这是Oracle数据',3,6,‘Mysql’)  返回:这是Mysql数据库

                      select lower('MYSQL')  返回:mysql

                      select upper('mysql') 返回:MYSQL

                      select substring('JavaMysqlOracle',5,5) 返回:Mysql

时间日期函数: select datediff(now(),'2008-8-8') 返回两个时间之间相差的天数

                          select adddate(now(),5) 返回现在的时间加上5天后的时间

数学函数: ceil(); floor(); 

 

##查找出比'一一'大的学生

SELECT * FROM student
WHERE bornDate<
(
SELECT bornDate FROM student
WHERE studentName='一一'
)
ORDER BY bornDate DESC;

 

转载于:https://www.cnblogs.com/alexanderthegreat/p/7151934.html

你可能感兴趣的文章
2014.8.15模拟赛【公主的朋友】
查看>>
Linux常用系统信息查看命令
查看>>
系统全局环境变量设置
查看>>
JSCS: Please specify path to 'JSCS' package
查看>>
[Matlab.Matrix] 作为判断条件
查看>>
java设计模式--迭代器模式
查看>>
Vim 的粘贴复制功能
查看>>
C#学习资料
查看>>
web标签语义化
查看>>
iOS运行时 归档
查看>>
js获取当前网页header头部信息
查看>>
linux复习一
查看>>
系统特殊路径一览
查看>>
R语言演示功能
查看>>
深入理解Lua的闭包一:概念、应用和实现原理
查看>>
Entity Framework Code First属性映射约定
查看>>
Objective-C代码混淆
查看>>
【代码笔记】iOS-gif图片播放
查看>>
XML解析--xPath技术
查看>>
struts MVC
查看>>