MySQL数据库

以下是一些常用的 SQL 关键字及其用法和案例:

1. SELECT:用于从数据库表中选择数据。
   用法:SELECT 列名 FROM 表名 WHERE 条件;
   案例:SELECT name, age FROM users WHERE age > 18;

2. FROM:用于指定要查询的表。
   用法:SELECT 列名 FROM 表名;
   案例:SELECT name, age FROM users;

3. WHERE:用于设置查询条件。
   用法:SELECT 列名 FROM 表名 WHERE 条件;
   案例:SELECT name, age FROM users WHERE age > 18;

4. AND:用于连接多个条件。
   用法:SELECT 列名 FROM 表名 WHERE 条件1 AND 条件2;
   案例:SELECT name, age FROM users WHERE age > 18 AND gender = 'male';

5. OR:用于连接多个条件,其中一个条件满足即可。
   用法:SELECT 列名 FROM 表名 WHERE 条件1 OR 条件2;
   案例:SELECT name, age FROM users WHERE age > 18 OR gender = 'female';

6. NOT:用于取反一个条件。
   用法:SELECT 列名 FROM 表名 WHERE NOT 条件;
   案例:SELECT name, age FROM users WHERE NOT age > 18;

7. IN:用于指定某个值在一个集合中。
   用法:SELECT 列名 FROM 表名 WHERE 列名 IN (值1, 值2, ...);
   案例:SELECT name, age FROM users WHERE age IN (18, 19, 20);

8. BETWEEN:用于指定一个范围。
   用法:SELECT 列名 FROM 表名 WHERE 列名 BETWEEN 值1 AND 值2;
   案例:SELECT name, age FROM users WHERE age BETWEEN 18 AND 25;

9. LIKE:用于模糊匹配字符串。
   用法:SELECT 列名 FROM 表名 WHERE 列名 LIKE '模式';
   案例:SELECT name, age FROM users WHERE name LIKE '张%';

10. NULL:表示空值或缺失值。
    用法:SELECT 列名 FROM 表名 WHERE 列名 IS NULL;
    案例:SELECT name, age FROM users WHERE age IS NULL;

11. DISTINCT:用于去除重复的记录。
    用法:SELECT DISTINCT 列名 FROM 表名;
    案例:SELECT DISTINCT name, age FROM users;

12. ORDER BY:用于对结果进行排序。
    用法:SELECT 列名 FROM 表名 ORDER BY 列名 ASC/DESC;
    案例:SELECT name, age FROM users ORDER BY age DESC;

13. ASC:表示升序排列。
    用法:SELECT 列名 FROM 表名 ORDER BY 列名 ASC;
    案例:SELECT name, age FROM users ORDER BY age ASC;

14. DESC:表示降序排列。
    用法:SELECT 列名 FROM 表名 ORDER BY 列名 DESC;
    案例:SELECT name, age FROM users ORDER BY age DESC;

15. GROUP BY:用于将结果按照指定的列进行分组。
    用法:SELECT 列名, 聚合函数(列名) FROM 表名 GROUP BY 列名;
    案例:SELECT age, COUNT(*) FROM users GROUP BY age;

16. HAVING:用于设置分组条件。
    用法:SELECT 列名, 聚合函数(列名) FROM 表名 GROUP BY 列名 HAVING 条件;
    案例:SELECT age, COUNT(*) FROM users GROUP BY age HAVING COUNT(*) > 1;

17. JOIN:用于将两个或多个表连接在一起。
    用法:SELECT * FROM 表1 JOIN 表2 ON 表1.关联列 = 表2.关联列;
    案例:SELECT users.name, orders.order_id FROM users JOIN orders ON users.user_id = orders.user_id;

18. UNION:用于合并两个或多个 SELECT 语句的结果集。
    用法:SELECT * FROM 表1 UNION SELECT * FROM 表2;
    案例:SELECT name, age FROM users UNION SELECT name, age FROM employees;

19. INSERT INTO:用于向表中插入新的记录。
    用法:INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);
    案例:INSERT INTO users (name, age) VALUES ('张三', 25);

20. UPDATE:用于更新表中的数据。
    用法:UPDATE 表名 SET 列1 = 值1, 列2 = 值2, ... WHERE 条件;
    案例:UPDATE users SET age = 26, gender = 'male' WHERE name = '张三';

21. DELETE:用于删除表中的记录。
    用法:DELETE FROM 表名 WHERE 条件;
    案例:DELETE FROM users WHERE name = '张三';

22. CREATE TABLE:用于创建新表。
    用法:CREATE TABLE 表名 (列1 数据类型, 列2 数据类型, ...);
    案例:CREATE TABLE users (user_id INT PRIMARY KEY, name VARCHAR(50), age INT);

23. ALTER TABLE:用于修改表结构。
    用法:ALTER TABLE 表名 ADD/DROP/MODIFY COLUMN 列名 数据类型;
    案例:ALTER TABLE users ADD email VARCHAR(50);

24.LIMIT:LIMIT关键字用于限制查询结果返回的行数。

   用法:SELECT 列名 FROM 表名 WHERE 条件 LIMIT 数量;

   案例:select device_id from user_profile limit 2;


示例:user_profile

建表:

iddevice_idgenderageuniversityprovince
12138male21北京大学Beijing
23214male复旦大学Shanghai
36543female20北京大学Beijing
42315female23浙江大学ZheJiang
55432male25山东大学Shandong

1题目:现在运营需要查看用户来自于哪些学校,请从用户信息表中取出学校的去重数据。

解题:

2种去重方式

1.distinct 关键字select distinct university from user_profiledistinct去重,放在列的前面使用。

2.分组SELECT university from user_profilegroup by university以分组来筛选出去重的结果


2.题目:现在运营只需要查看前2个用户明细设备ID数据,请你从用户信息表 user_profile 中取出相应结果

解题:where 和 limit

3.题目:现在你需要查看前2个用户明细设备ID数据,并将列名改为 'user_infos_example',,请你从用户信息表取出相应结果。

解题:

4.题目:现在运营想要筛选出所有北京大学的学生进行用户调研,请你从用户信息表中取出满足条件的数据,结果返回设备id和学校。

解题:

where条件查询

like 模糊查询

5.题目:

现在运营想要针对24岁以上的用户开展分析,请你取出满足条件的设备ID、性别、年龄、学校。

用户信息表:user_profile

解题:

6.题目:现在运营想要针对20岁及以上且23岁及以下的用户开展分析,请你取出满足条件的设备ID、性别、年龄。

解题:

7.题目:现在运营想要查看除复旦大学以外的所有用户明细,请你取出相应数据

解题:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值