SQL学习笔记(基础部分)
2023-06-13 09:11:03 时间
大家好,又见面了,我是你们的朋友全栈君。
SQL学习笔记
基础部分
SQL语法
数据库语言对大小写不敏感,用分号分隔每条数据库语言
SQL通用数据类型
SQL开发,在创建SQL表时要确定每个列要存储的数据类型,每一列都需要一个列名和确定的数据类型 常见数据类型自行查询 一些重要的SQL命令
- select
- update
- delete
- insert into
- create database
- alter database
- create table
- alter table
- drop table
- create index
- drop index
SQL语句
- select语句
select column_name,column_name from table_name;
select * from table_name;
选取结果被储存在一个结果表中,称为结果集
- select distinct语句 一个列中可能包含重复值,select distinct用于返回唯一不同值
select distinct column_name,column_name from table_name;
- SQL Where字句 用于提取满足制定标准的记录
select column_name,column_name
from table_name
where column_name operator value;
在where子句中可以使用=,<>,<,>,>=,<=,between,like#搜索某种模式,in#指定针对某个列的多个可能值
- and & or语句 and和or结合使用(使用圆括号来组成复杂的表达式)
select * from custormers where country = 'Germany' and (city = 'Berlin' or City = 'Beijing')
- SQL order by关键字 用于对结果集按照一个列或多个列进行排序,默认按升序排序,若要用降序,可以使用desc关键字
select column_name,column_name from table_name order by column_name,column_name ASC|DESC
- SQL insert into语句 用于向表中插入新记录
insert into table_name
values(value1,value2,value3,...)
insert into table_name(column1,column2,column3,...)
values(value1,value2,value3,...)
#会形成新行,但只在指定列插入数据,custormid列会自动更新
- SQL update语句 用于更新表中的数据
update table_name
set column1=value1,column2=value2,...
where some_column=some_value
#通过where来限制更新行,缺失where语句会对整列都进行修改
- SQL DELETE语句 用于删除表中的记录
delete from table_name where some_column = some_value
delete from table_name;
or
delete * from table_name;
#删除表中所有数据
- SQL select top,limit,rownum 用于规定要返回的记录的数目
#SQL Server / MS Access 语法
SELECT TOP number|percent column_name(s) FROM table_name;
#MySQL 和 Oracle 中的 SQL SELECT TOP 是等价的 MySQL 语法 select column_name(s) from table name limit number;
#Oracle语法
select column_name(s) from table_name where rownum <= number;
- SQL like 操作符 用于在where子句中搜索列中的指定模式
select column_name(s) from table_name where column_name like pattern;
- SQL 通配符 通配符可用于代替字符串中的任何其他字符,在SQL中与SQL like操作符一起使用
通配符 | 描述 |
---|---|
% | 替代一个字符 |
_ | centered |
[charlist] | 字符列中的任何单一字符 |
[^charlist] or [!charlist] | 不在字符列中的任何单一字符 |
# %运用
SELECT * FROM Customers WHERE City LIKE '%es%';
#_运用
SELECT * FROM Customers WHERE City LIKE '_erlin';
# SQL[charlist]运用 选取以a、b、c开头的所有
SELECT * FROM Customers WHERE City LIKE '[a-c]%';
#选取 City 不以 "b"、"s" 或 "p" 开始的所有客户
SELECT * FROM Customers WHERE City LIKE '[!bsp]%';
- SQL in操作符 允许在where字句中规定多个值
select column_name(s)
from table_name
where colunmn_name in (value1,value2,...);
select column_name(s)
from table_name
where column_name in(select column from table_w3c where ...);
- SQL between操作符
select column_name(s) from table_name where colunmn_name between value1 and value2;
SELECT * FROM Products WHERE (Price BETWEEN 10 AND 20) AND CategoryID NOT IN (1,2,3);
- SQL join连接 SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。
select table1_name.column_name(s),table2_name.column_name(s) from table1_name inner join table2_name on table1_name.column = table2_name.column #基于表之间的共同字段相连接
- INNER JOIN:如果表中有至少一个匹配,则返回行
- LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
- RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
- FULL outer JOIN:只要其中一个表中存在匹配,则返回行
- SQL union 合并两个或多个select语句的结果 UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同
SELECT column_name(s) FROM table1 UNION SELECT column_name(s) FROM table2;
#默认选取不同值,如果要允许重复值,使用union all
- SQL select into 将一个表中的数据复制到另一个中
SELECT * INTO newtable [IN externaldb] #外部数据库 FROM table1;
- SQL insert into select
INSERT INTO Customers (CustomerName, Country) SELECT SupplierName, Country FROM Suppliers WHERE Country='Germany';
两者的区别在于select into复制后创建一个新表,而insert select into复制后添加到一个已有的表格中
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171378.html原文链接:https://javaforall.cn
相关文章
- Oracle PL/SQL语句基础学习笔记(上)
- MySQL5_存储过程-sql编程-函数-触发器-用户管理
- SQL函数BIT_AND、BIT_OR、BIT_XOR和BIT_COUNT的理解
- 微擎 CMS:从 SQL 到 RCE
- SQL语句实现多表查询
- SQL Server 2012 FileTable 新特性详解
- SQL数据库存储过程示例解析
- Sql存储过程游标循环的用法及sql如何使用cursor写一个简单的循环
- sql server实现在多个数据库间快速查询某个表信息的方法
- Oracle 日期SQL:超简单查询技巧(oracle日期sql)
- sql server比较Oracle 与 SQL Server的优缺点(oracleltgt)
- 学习SQL Server:快速入门教程(sqlserver使用教程)
- 优化SQL Server性能:精准利用索引(sqlserver索引的使用)
- MySQL学习笔记:如何通过SQL语句增加字段?(mysql增加字段sql)
- SQL导入Oracle快速指南(sql导入oracle)
- 快速完成PL/SQL连接Oracle数据库的配置(plsql连接oracle配置)
- 如何防范SQL注入攻击:MySQL的几种安全策略(sql注入mysql)
- sql server2005配置管理器打不开 无法连接到WMI提供程序 [0x80041003] windows2008 R2 64位
- 【SQL Sever 文件路径变更进行时】(sqlserver改路径)
- 时间SQL Server设置开机自动启动(sqlserver开机)
- sql探索SQL Server:前六条SQL语句(sqlserver前六条)
- MySQL导出SQL:把数据安全备份(mysql 导出 sql)
- 探索SQL Server中的金玉明之美(金玉明sqlserver)
- 通过证书链接SQL Server驱动安全性的研究(证书链接sqlserver)
- MySQL中涵盖的SQL操作详解(mysql中包含的sql)
- 的sql语句精益求精Oracle打造优雅的SQL语句(oracle书写好看)
- Oracle SQL在数据库中的应用(oracle中sql应用)
- Oracle SQL代码审查引发的期待与担忧(oracle sql评审)
- MySQL导入导出.sql文件及常用命令小结