SQL语句大全

搜集所闻所见的SQL语句,无论简单还是复杂,只按时间顺序,持续更新。。。

CREATE DATABASE mydb1

创建一个名为 mydb1 的数据库。如果这个数据库已经存在会报错

CREATE DATABASE IF NOT EXISTS mydb1

如果名为 mydb1 的数据库不存在就创建该库

DROP DATABASE mydb1

删除一个名为 mydb1 的数据库。如果这个数据库已经删除会报错

DROP DATABASE IF EXISTS mydb1

如果名为 mydb1 的数据库存在就删除该库

CREATE TABLE stu(
    sid CHAR(6), 
    sname VARCHAR(20), 
    age INT, 
    gender VARCHAR(10)
);

创建stu表

ALTER TABLE stu ADD (classname varchar(100));

给 stu 表添加 classname 列

ALTER TABLE stu MODIFY gender CHAR(2);

修改 stu 表的 gender 列类型为 CHAR(2)

ALTER TABLE stu change gender sex CHAR(2);

修改 stu 表的 gender 列名为 sex

ALTER TABLE stu DROP classname;

删除列:删除 stu 表的 classname 列

ALTER TABLE stu RENAME TO student;

修改 stu 表名称为 student

INSERT INTO stu(sid, sname,age,gender) VALUES('s_1001', 'zhangSan', 23, 'male');
INSERT INTO stu(sid, sname) VALUES('s_1001', 'zhangSan');
INSERT INTO stu VALUES('s_1002', 'liSi', 32, 'female');

插入数据到stu表

UPDATE stu SET sname=’zhangSanSan’, age=’32’, gender=’female’ WHERE sid=’s_1001’;
UPDATE stu SET sname=’liSi’, age=’20’WHERE age>50 AND gender=’male’;
UPDATE stu SET sname=’wangWu’, age=’30’WHERE age>60 OR gender=’female’;
UPDATE stu SET gender=’female’WHERE gender IS NULL
UPDATE stu SET age=age+1 WHERE sname=’zhaoLiu’;

更新数据到stu表

DELETE FROM stu WHERE sid=’s_1001’003B;
DELETE FROM stu WHERE sname=’chenQi’ OR age > 30;
DELETE FROM stu;
TRUNCATE TABLE stu;// 先DROP TABLE,再 CREATE TABLE,速度快无法回滚

删除stu中的数据

CREATE USER ‘user1’@localhost IDENTIFIED BY ‘123’;
CREATE USER ‘user2’@’%’ IDENTIFIED BY ‘123’;

创建一个数据库用户

GRANT CREATE,ALTER,DROP,INSERT,UPDATE,DELETE,SELECT ON mydb1.* TO user1@localhost;
GRANT ALL ON mydb1.* TO user2@localhost;

给用户授权

REVOKE CREATE,ALTER,DROP ON mydb1.* FROM user1@localhost;

取消授权

SHOW GRANTS FOR user1@localhost;

查看授权

DROP USER ‘user1’@localhost;

删除权限

use mysql;
alter user '用户名'@localhost identified by '新密码';

修改密码

SELECT * FROM stu;
SELECT sid, sname, age FROM stu;
SELECT * FROM stu WHERE gender='female' AND age<50;//且
SELECT * FROM stu WHERE sid ='S_1001' OR sname='liSi';//或
SELECT * FROM stu WHERE sid IN ('S_1001','S_1002','S_1003')
SELECT * FROM stu WHERE sid NOT IN ('S_1001','S_1002','S_1003');
SELECT * FROM stu WHERE age IS NULL;
SELECT * FROM stu WHERE age>=20 AND age<=40;
SELECT * FROM stu WHERE age BETWEEN 20 AND 40;
SELECT * FROM stu WHERE gender!='male';//非
SELECT * FROM stu WHERE gender<>'male';//非
SELECT * FROM stu WHERE NOT gender='male';
SELECT * FROM stu WHERE NOT sname IS NULL;
SELECT * FROM stu WHERE sname IS NOT NULL;
SELECT * FROM stu WHERE sname LIKE '_ _ _ _ _';
SELECT * FROM stu WHERE sname LIKE '_ _ _ _i';
SELECT * FROM stu WHERE sname LIKE 'z%';//以“z”开头
SELECT * FROM stu WHERE sname LIKE '_i%';//以"某i"开头
SELECT * FROM stu WHERE sname LIKE '%a%';//包含“a”字母
SELECT DISTINCT sal FROM emp;//去重
SELECT *,sal+comm FROM emp;//查询sal+comm之和
SELECT *, sal+IFNULL(comm,0) FROM emp;//上条的优化,把comm中的null转为0
SELECT *, sal+IFNULL(comm,0) total FROM emp;//上条的优化,取列名为total
SELECT * FROM stu ORDER BY sage ASC;//按年龄升序排序
SELECT * FROM stu ORDER BY sage;
SELECT * FROM stu ORDER BY age DESC;//降序
SELECT * FROM emp ORDER BY age DESC ,empno ASC;//如果年龄相同时,按empno升序排序
SELECT COUNT(*) AS cnt FROM emp;//统计表数据条数
SELECT COUNT(comm) cnt FROM emp;//统计表中comm有数据的条数
SELECT COUNT(*) FROM emp WHERE sal > 2500;
SELECT COUNT(comm), COUNT(mgr) FROM emp;//统计comm有数据的条数和mgr有数据的条数
SELECT SUM(sal) FROM emp;//sal的总和
SELECT SUM(sal), SUM(comm) FROM emp;
SELECT SUM(sal+IFNULL(comm,0)) FROM emp;
SELECT SUM(sal), COUNT(sal) FROM emp;//平均值
SELECT AVG(sal) FROM emp;//平均值
SELECT MAX(sal), MIN(sal) FROM emp;//最高和最低
SELECT deptno, SUM(sal) FROM emp GROUP BY deptno;

SELECT deptno,COUNT(*)
FROM emp
GROUP BY deptno;

SELECT deptno ,COUNT(*)
FROM emp
WHERE sal>1500`
GROUP BY deptno;

SELECT deptno, SUM(sal)
FROM emp
GROUP BY deptno
HAVING SUM(sal) > 9000;

SELECT * FROM emp LIMIT 0, 5;//查询 5 行记录,起始行从 0 开始
SELECT * FROM emp LIMIT 3, 10;

select staff.name,deptname from staff,deptno where
staff.name=deptno.name;//内链接
select staff.name,deptname from staff left join deptno onstaff.name=deptno.name;//外连接(左连接)
select deptname,deptno.name from staff right join deptno ondeptno.name=staff.name;//外连接(右连接)

查询表中的列

特别鸣谢:
史上最全SQL基础知识总结

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,192评论 6 511
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,858评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,517评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,148评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,162评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,905评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,537评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,439评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,956评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,083评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,218评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,899评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,565评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,093评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,201评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,539评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,215评论 2 358

推荐阅读更多精彩内容