高级查询
修改表名
ALTER TABLE 表1 RENAME 表2(修改的新表名);
添加字段
ALTER TABLE 表名 ADD 字段名 VARCHAR(20) NOT NULL;
修改字段
ALTER TABLE 表名 CHANGE NAME username VARCHAR(20) NOT NULL;
删除字段
ALTER TABLE demo3 DROP PASSWORD;
添加主外键约束
**添加主键**
ALTER TABLE grade ADD CONSTRAINT pk_gradeID PRIMARY KEY grade(gradeID);
**添加唯一约束**
ALTER TABLE grade ADD CONSTRAINT `uk_gradeName` UNIQUE KEY grade (gradeName);
SHOW CREATE TABLE grade;
**添加外键约束**
ALTER TABLE stuinfo ADD CONSTRAINT `fk_gradeId` FOREIGN KEY (gradeID) REFERENCES grade(gradeId);
字符串连接
SELECT CONCAT ('MY','sql');
SELECT CONCAT(classHour-10) FROM SUBJECT WHERE subjectNo=1;
字符串截取
SELECT SUBSTRING(identityCard,7,8) FROM stuinfo;
字符串替换
SELECT INSERT('aaasdjai',3,2,'wo');
SELECT INSERT(email,1,14,'stu20000@qq.com')FROM stuinfo WHERE studentNo=1;
日期函数
-- 获取系统日期
SELECT NOW();
SELECT CURDATE(),CURTIME(); -- 前面年月日 后面几分几秒
-- 查询第几周
SELECT WEEK(NOW());
-- 返回当前的年份
SELECT YEAR(NOW());
-- 返回当前的月份
SELECT MONTH(NOW());
-- 返回当前日
SELECT DAY(NOW());
-- 返回当前小时
SELECT HOUR(NOW());
-- 返回分钟
SELECT MINUTE(NOW());
-- 两个日期的间隔
SELECT DATEDIFF(NOW(),'2001-08-29');
子查询
SELECT studentName
FROM stuinfo
WHERE studentNo IN (SELECT studentNo FROM result WHERE subjectNo =(SELECT subjectNo FROM SUBJECT WHERE subjectName='Chinese'
AND studenResult=55));