SQL学习笔记(基础部分)

SQL学习笔记(基础部分)SQL学习笔记基础部分SQL语法数据库语言对大小写不敏感,用分号分隔每条数据库语言SQL通用数据类型SQL开发,在创建SQL表时要确定每个列要存储的数据类型,每一列都需要一个列名和确定的数据类型常见数据类型自行查询一些重要的SQL命令selectupdatedeleteinsertintocreatedatabasealterdatab

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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.net/171378.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 使用HttpClient4,post提交multipart/form-data数据

    使用HttpClient4,post提交multipart/form-data数据问题由来: 在Vert.x的项目中,进行公众号开发的时候,发现回复用户图片的时候需要先上传图片,获取一个media_id,然后拿着这个media_id去发送数据。 问题是,Vert.x的vertx-web-client不提供表单文件上传(form-data)方式post请求。     于是,只能找一个HttpClient方法。发现组装一个这样的请求,并不简单解

    2022年7月22日
    18
  • unity物体沿着一个方向移动_unity3d控制人物行走

    unity物体沿着一个方向移动_unity3d控制人物行走Unity小科普老规矩,先介绍一下Unity的科普小知识:Unity是实时3D互动内容创作和运营平台。包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助Unity将创意变成现实。Unity平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。也可以简单把Unity理解为一个游戏引擎,可以用来专业制作游戏!

    2025年11月6日
    5
  • jquery拼音转汉字搜索[通俗易懂]

    jquery拼音转汉字搜索[通俗易懂]HTML:1DOCTYPEhtmlPUBLIC”-//W3C//DTDXHTML1.0Transitional//EN””http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>2htmlxmlns=”http://www.w3.org/1999/xhtml”>34head>5

    2022年7月24日
    12
  • 完美解决Tensorflow不支持AVX2指令集问题

    完美解决Tensorflow不支持AVX2指令集问题这几天研究了一下FCN(全卷积网络),由于电脑配置不够,用GPU训练直接报OOM(内存溢出)了,于是转战CPU,当然,这样会很慢,之后会继续搞一下,减小一下网络的复杂度,对一些参数设置一波,看能不能正常跑下来。记得一开始没有装GPU版的tensorflow时用CPU版本跑程序的时候总是报警告:YourCPUsupportsinstructionsthatthisTensorFlo…

    2022年5月30日
    49
  • 【可视化爬虫】scrapinghub 可视化抓取 portia环境搭建全过程

    【可视化爬虫】scrapinghub 可视化抓取 portia环境搭建全过程文章目录scrapinghub可视化抓取portia环境搭建全过程一、install_deps:安装系统级依赖二、install_splash:安装splash三、install_python_deps:安装python依赖四、安装ember.js五、安装并配置nginx六、ember.js依赖安装scrapinghub可视化抓取portia环境搭建全过程一、insta…

    2025年6月3日
    3
  • 五段式流水线_cpu流水线工作原理

    五段式流水线_cpu流水线工作原理一.实验目的:1.使用verilog语言写一个CPU。包含老师给的指令,并且在此基础上加入自己的想法。把之前学过的知识都用上,尽量学会design一个东西,而不仅仅是把老师的代码修改。学习写cpu,为之后的提升打基础,比如学习编译原理的时候可以试着自己做一个编译器;学习操作系统的时候可以在cpu的基础上写一个操作系统;学习嵌入式电路的时候可以自己写一些驱动。所以学习写cpu只是打开了一扇窗,把

    2022年8月14日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号