mysql高级查询

高级查询

修改表名

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));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值