SQL语句--个人笔记
2019-09-23 22:53
1131 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43872529/article/details/101231863
SQL的一些基本语句
SQL教程(详解):https://www.w3school.com.cn/sql/index.asp
1.创建表格
/* 首先设置编码格式 */ SET NAMES utfmb4; /* 取消外键约束,即可以修改表结构 */ SET FOREIGN_KEY_CHECKS= 0; /*如果存在同名表结构即删除*/ DROP TABLE IF EXISTS `[表名]`; /* 注意这里需要使用反引号 " ` " */ //创建表结构 CREATE TABLE `[表名]`( /* 数据用逗号分隔开 */ `字段名` [数据类型](大小) DEFAULT NULL COMMENT '[注释]' )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
2.插入数据
INSERT INTO [表名]( /* 填入字段名... */ ) VALUES( /* 填入字段名对应的值... */ );
其中的字段名代表的就是表格中指定的一类的数据名称
3.选择数据
SELECT [字段名] FROM [表名]; /* 其中[字段名]处可以使用 * 代表所有字段名称 */ /* 使用指定条件进行过滤 */ SELECT * FROM 表名] WHERE [条件]
WHERE的用法相当于筛选器,通过指定的条件过滤数据,然后进行对应的操作
4.修改数据
/* 选定条件下修改指定的数据 */ UPDATE [表名] SET [字段名的修改] WHERE [条件];
如果忽略了WHERE则会修改所有数据
5.删除数据
/* 选定条件下删除指定的数据 */ DELETE FROM [表名] WHERE [条件]
如果忽略了WHERE则会删除表中所有数据
6.数据中字符串的合并
/* 使用 CONCAT 合并字符串并返回 */ SELECT [字段名,CONCAT(字段名1,字段名2,...),...] FROM [表名]; /* 其中CONCAT里的一般是字段名对应的值 */
7.定义字段为别名
/* 使用 AS 定义别名 */ SELECT [字段名] AS [别名] ;
8.清除数据中多余的空格
/* 使用 TRIM() 消除多余空格 */ SELECT TRIM([字段名]);
9.数据的排序
/* 通过指定的排序方法进行排序 */ SELECT * FROM [表名] ORDER BY [字段名] [指定方法] /* 可以对int型或是double型的数据进行排列 如 ORDER BY price asc :对价格进行升序排列 如 ORDER BY price desc :对价格进行降序排列 */ /* 还可以对varchar型的字符串数据进行排列,对datetime型的时间数据进行排列, 同时可以进行多个字段名的排序 */
需要注意的是 ORDER BY 要放在语句的最后,除了存在 LIMIT 语句
10. 限定数据集的返回
/* 使用 LIMIT 语句限定返回数据的个数 */ SELECT * FROM [表名] LIMIT [num]; /* 返回num个数的数据集 */ SELECT * FROM [表名] LIMIT [num1,num2]; /* 返回从第num1+1数据开始的num2个数的数据集 */
需要注意的是 LIMIT 放在语句的最后
11. 求数据的总数
/* 使用 count() 方法求出数据的总数并返回该值 */ SLECT count(*) FROM [表名]; /* 也可以通过指定的筛选方法求出对应的数据集总数 */
12. 匹配搜索指定内容的数据
/* 通过使用 LIKE 语句进行匹配相关的内容 */ SELECT * FROM [表名] WHERE [字段名] LIKE ['匹配内容'];
匹配的内容可以使用特定的方法进行扩展,比如添加通配符"%"
如:’ 江苏% ’ —— 匹配的可以是 ’ 江苏大学 ’ 、’ 江苏科技大学 ’
(%可以放在任意位置代表扩展的内容)
/* 通过使用 IN 和 NOT IN 语句匹配确定的内容 */ SELECT * FROM [表名] WHERE [字段名] IN([指定内容1],[指定内容2],...); /* 包含指定内容的搜索 */ SELECT * FROM [表名] WHERE [字段名] NOT IN([指定内容1],[指定内容2],...); /* 不包含指定内容的搜索 */
13.条件语句 OR、AND、IS 、IS NOT
/* AND语句的实现,相当于与 */ SELECT * FROM [表名] WHERE [条件1] AND [条件2]; /* OR语句的实现,相当于或 */ SELECT * FROM [表名] WHERE [条件1] OR [条件2]; /* IS和IS NOT语句的实现 */ SELECT * FROM [表名] WHERE [条件1] IS NULL; /* 判断是否为空 */ SELECT * FROM [表名] WHERE [条件1] IS NOT NULL; /* 判断是否不为空 */
需要注意的是AND的优先级大于OR
14.关联查询
/* 实现表格一和表格二的相关信息的查询 */ SELECT * FROM [表1] AS A,[表2] AS B WHERE [条件];
通常使用 AS 来指定别名,方便操作。
一般情况下避免使用 * 查询,因为表一和表二可能存在相同的字段名,所以使用 **A.[字段名]或者B.[字段名]**来指定一个确定的字段名。
15.分组查询
/* 查找一个字段名的所有种类,即所有分组 */ SELECT [字段名] FROM [表名] GROUP BY [字段名]; /* 可以通过使用 count 来求出每一个分组的数量 */ SELECT [字段名],count([字段名]) AS num FROM [表名] GROUP BY [字段名]
还可以通过 WHERE 等语句来限定条件
相关文章推荐
- 阿里巴巴开发手册解析个人笔记(五)Mysql规约(三)SQL语句
- php个人笔记-将sql语句可以按条件与php链接导出excel表并下载
- MySQL 基础架构 1. 一条SQL查询语句的执行过程(个人学习笔记)
- sql语句学习笔记(12)-动态sql语句
- 个人整理摘录的SQL2005新增几种常用的T-SQL语句
- 黑马程序员之SQL学习笔记:SQL个人的小总结
- [学习笔记][asp.net下SQL语句无法向ACCESS数据库插入数据的小提示
- 一条SQL查询语句是如何执行的?-笔记
- SQL学习笔记二 创建表、插入数据的语句
- mysql建表常用语句 个人笔记分享
- 个人PHP学习笔记(二)--语句结构
- 个人整理sql语句(每天更新中……)
- [学习笔记]Excelsql语句
- OAF学习笔记-8-在AM中直接调用sql 语句(PLSQL函数)
- 基本的SQL语句学习笔记一
- [学习笔记]MySql之SQL语句优化
- Oracle sql语句学习笔记
- CUBRID学习笔记 18 sql语句的预处理(类似存储过程)
- MySQL高级笔记——数据库的设计,Sql语句的优化,数据库的备份
- Oracle PL/SQL语句基础学习笔记(上)