SQL的部分使用

一.备份数据表SQL
CREATE TABLE new_table_日期 (
        SELECT *
        FROM old_table);

二. 将某个字段通过另一个字段管理表进行更新方法(以更新用户对应的学校为例): 
--  1.先查询出需要更数据,使用INNER JOIN查出的值不影响未关联上的数据
SELECT rdl.FK_USER_ID,su.FK_SCHOOL_ID
FROM table1 rdl
INNER JOIN table2 su ON su.USER_ID = rdl.FK_USER_ID
WHERE rdl.FK_SCHOOL_ID = 0;

-- 使用LEFT JOIN时可以通过关联表的主键ID(AND su.USER_ID IS NULL切记放在最后面)去查出未关联上的数据,便于特殊未关联上的数据处理
SELECT rdl.FK_USER_ID,su.FK_SCHOOL_ID
FROM table1 rdl
LEFT JOIN  table2 su ON su.USER_ID = rdl.FK_USER_ID
WHERE rdl.FK_SCHOOL_ID = 0
AND su.USER_ID IS NULL;

--  2.修改查询语句执行更新操作
UPDATE 需要操作的更新表 rdl
INNER JOIN  table2 su ON su.USER_ID = rdl.FK_USER_ID
SET rdl.FK_SCHOOL_ID = su.FK_SCHOOL_ID
WHERE rdl.FK_SCHOOL_ID = 0;

三.SQL时间戳有关

1.针对已经设置了时间戳(DEFAULT CURRENT_TIMESTAMP),但当creatTime和updateTime这两个字段使用null填充时依旧报错说字段不能为空时:
SET session  explicit_defaults_for_timestamp = off; 

2.查看是否为off;
SHOW VARIABLES LIKE 'explicit_defaults_for_timestamp';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值