SQL 笔记

系统 1472 0
新增 INSERT INTO A (列名1, 列名2) VALUES (列1的值, 列2的值);
查询 select * from 表名;
删除 delete from test.A where 条件表达式
修改 update test.A  set id_no=5 where grade=156421.0
update test.A  set id_no=6,grade=grade*2 where grade=156421.0
清空表数据 TRUNCATE TABLE 表名
添加主键 ALTER TABLE 表名 ADD PRIMARY KEY (列名[,列名])
去除主键 ALTER TABLE 表名 DROP PRIMARY KEY
添加外键约束 ALTER TABLE
    从表名 ADD CONSTRAINT 外键名 FOREIGN KEY (从表外键列名) REFERENCES 主表名 (主表主键列名)
查看约束
  • <MySQL>select * from information_schema.TABLE_CONSTRAINTS;--可以看到所有约束,可以根据TABLE_NAME,CONSTRAINT_TYPE,CONSTRAINT_NAME来具体查找
经典问题:查询参加了所有选修课的学生信息 select * from S where not exists(
select * from C where not exists(
select * from SC where SID=S.SID and SC.CID=C.CID));
复制表
  • 表不存在:create table 新表名 AS select * from 源表名
  • 表存在:insert into B select * from A
表A(id,name,age),B结构一样,找出A表和B表有哪些数据不一样(name,age不相同算不一样) SELECT A.NAME,B.NAME FROM A FULL JOIN B ON A.ID = B.ID where A.NAME IS NULL OR B.NAME IS NULL or A.NAME<>B.NAME
合并两个表数据(两个表的列都一样) select * from A union select * from  B
A,B表结构一样,覆盖表数据,id一样就更新,不一样则新增

MERGE INTO A USING B ON (A.ID=B.ID)
WHEN MATCHED THEN
UPDATE SET A.NAME=B.NAME,A.AGE=B.AGE
WHEN NOT MATCHED THEN
INSERT VALUES(B.ID,B.NAME,B.AGE)

SQL 笔记


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论