首页 > 数据库 >SQL语法快速回顾

SQL语法快速回顾

时间:2023-05-19 23:58:02浏览次数:50  
标签:name 回顾 Friends 语法 location SQL WHERE id SELECT

学习及整理来源:

SQL 教程 | 菜鸟教程 (runoob.com)

做了些笔记快速记忆

以下为示例表(在'People'数据库中创建了'Friends'表)

DATABASE NAME: People

TABLE NAME: Friends

id name location item SorN
1 zty CN switch Y
2 ter CA xbox Y
3 jo5 CN ps5 N
4 ada CA pc N

0. 首先。。

比如mysql:

mysql> use People; (打开数据库'People')

mysql> set names utf8;(编码啥的)

 

1. SELECT

SELECT id,name, ...

FROM Friends;

SELECT id, name, ... FROM Friends;

如果

SELECT * FROM Friends;

就会显示整个表

 

2. SELECT DISTINCT

只会显示不重复的,比如说第3列

SELECT DISTINCT location FROM Friends;

会输出 cn和ca(当然是以表格形式)

 

3. WHERE

其实就是加了'条件',比如

SELECT * FROM Friends WHERE id=1;

SELECT * FROM Friends WHERE name='zty';

注意数值字段不要用引号

以上例子中"="就是运算符,常用运算符有

= 等于 <> 不等于(有时能够被换成!=) >大于 <小于 >=大于等于 <=小于等于

BETWEEN 在某个范围内,一般接AND用 这里范围边缘是包括的(比如SELECT * FROM Friends WHERE id BETWEEN 2 AND 4,那么就是输出id为2,3,4的各个数)

LIKE 模糊搜索(好玩的部分,比如 SELECT * FROM Friends WHERE item LIKE 'p%', 那么会输出带有ps5的第三行和带有pc的第四行。假如是SELECT * FROM Friends WHERE item LIKE 'p_',那么只会输出带有pc的第四行。因为 %表示多个字值,_表示一个字符)

关于通配符:

% 替代0个或多个字符

- 替代一个字符

[charlist]字符列中的任何单一字符

[^charlist]或[!charlist]不在字符列中的任何单一字符

IN 精确查询(可查多个),比如

SELECT * FROM Friends WHERE id IN (3,2,4);  且并不需要按顺序。

空值 is null

SELECT * FROM Friends WHERE id is null; 这条没结果的,我这个表没有空值。

逻辑运算优先级: () not and or

 

4. AND和OR运算符

SELECT * FROM Friends WHERE location='CN' AND id<3

SELECT * FROM Friends WHERE location='CN' or item='pc'

通过括号还能变更复杂

SELECT * FROM Friends WHERE location='CN' AND (id<3 OR id>4) 当然这句意义不大,只是做个例子

 

5.排序 ORDER BY

ASC升序 DESC降序

SELECT * FROM Friends ORDER BY id DESC 按照id降序排整个表

多个列也可以排,具体参考例子(因为懒)。总结就是谁在前面就先排谁

SQL ORDER BY 关键字 | 菜鸟教程 (runoob.com)

 

6.插入INSERT INTO 注意id列自动更新且唯一,不用管

不指定 INSERT INTO Friends VALUES ('zyc','CA','ps4','N');

指定列 INSERT INTO Friends ('name','location','SorN') VALUES ('zyc','CA','N')

还不清楚如果不填的话是空值还是0

 

7.更新UPDATE

UPDATE Friends SET location='CA' WHERE name='zty';

把zty的location更新成CA

注意!!如果没有WHERE语句,会把所有location的值都变成CA(坏)

在MySQL中,可以设置set sql_safe_updates=1;  这样没写WHERE就会报错

 

8. 删DELETE

DELETE FROM Friends WHERE name='zty' AND location='CA';

同样,不加WHERE就会删除所有行

 

9.SELECT TOP,LIMIT,ROWNUM

TOP:前百分之多少的子句显示,是SQL SERVER/MS Access语法

SELECT TOP 10 name

From Friends;

 

LIMIT:前面几条数据,是MySQL语法:

SELECT * FROM Friends LIMIT 5;

 

ROWNUM: 同上,但是是Oracle的语法:

SELECT name FROM Friends WHERE ROWNUM <=3;

 

未完。。。

标签:name,回顾,Friends,语法,location,SQL,WHERE,id,SELECT
From: https://www.cnblogs.com/ztytoby/p/17416613.html

相关文章

  • 《mysql高性能》系列3:创建合适的索引
    1概述索引可以认为是存储引擎建立的一种数据结构,用来快速的根据查询条件来找到所需要的数据。由于数据一般存放在磁盘中,每次访问磁盘的时间都会比较长,因此,为了减少对磁盘的访问次数,存储引擎一般使用B-树结构来保存索引。索引可以减少服务器层需要扫描的数据量,可以帮助服务器避免......
  • 记一次 Oracle 下的 SQL 优化过程
    1.介绍事情是这样的,UAT环境的测试小伙伴向我扔来一个小bug,说是一个放大镜的查询很慢,转几分钟才出数据,我立马上开发环境试了一下,很快啊我说......
  • 《mysql高性能》系列4:字符集和校对
    对于字符串类型,有一个字符集的概念在里面。字符集是指,一种从二进制编码到某类字符符号的映射。例如,中文符号,在计算机底层用二进制存储,那么,就需要有一个映射表,来表示哪个中文符号用哪个二进制编码来表示。校对,是指一组用于某个字符集的排序规则。1mysql如何使用字符集只有基于字......
  • MySQL下载安装(Linux)
    Linux安装MySQL在线安装yum-yinstallmysql-server用Xshell,输入安装命令后,回车。源码安装下载源码进行编译安装、繁琐......
  • MySQL下载安装
    下载MySQL安装包登录MySQL官网:MySQL点击DOWNLOADS点击MySQLCommunity(GPL)Downloads点击MySQLCommunityServer点击Archives,选择需要的版本5.5版本及以下一般有MSI和ZIP两种。也可以下载5.7稳定版MySQLMSI版本是一种安装包,是一种微软安装程序,它支持一键安装,可......
  • MySQL
    数据库三大范式什么是范式?范式是数据库设计时遵循的一种规范,不同的规范要求遵循不同的范式。最常用的三大范式第一范式(1NF):属性不可分割,即每个属性都是不可分割的原子项。(实体的属性即表中的列)第二范式(2NF):满足第一范式;且不存在部分依赖,即非主属性必须完全依赖于主属性。......
  • SQL 基础
    SQL基础条件查询语法格式:select字段1,字段2...from表名where条件;执行顺序:先from,然后where,最后select.<,>,<=,>=,<>,!=,and,between…and….,isnull,isnotnull,or,in,notin,and和or联合使用(in等同于or)模糊查询like函数字符函数:length函数selectlength('j......
  • Mysql重置主键id顺序
     消除因删除而产生错乱的主键id顺序altertable  表名  dropcolumnid;altertable  表名  addidmediumint(8)notnullprimarykeyauto_incrementfirst;  ......
  • 通用的CRUD之Sqlite
    前言SQLite是一种轻量级的关系型数据库管理系统,支持跨平台操作。它可以嵌入到程序中,无需单独的服务器进程或者配置文件,减少了数据库维护的负担和运行的复杂性。SQLite的数据存储在单个文件中,方便备份、传输和分享,也容易进行版本管理。SQLite拥有良好的性能、可靠的稳定性和丰富的......
  • sql--每天两道sql题,天天健康好身体_第五天
    每天会在网上找两三道sql题练习练习,提高自己的sql语句的使用能力(先自己思考出答案,再和别人的答案做一下对比,然后深入思考一下)以下是四个表信息:问题1:查询姓“王”的老师的个数答案1:selectcount(tid)fromteacher_info_tablewheretnamelike"王%"思考:简单,记住like的用法......