美文网首页
每天一SQL语句(01):SQL 语句基础篇

每天一SQL语句(01):SQL 语句基础篇

作者: 奔跑的Tester | 来源:发表于2019-05-14 11:42 被阅读0次

【开篇】SQL 语句基础篇

【前言】SQL 语法

1、SQL 注意事项

(1)SQL语句对大小写不敏感。

(2) MySQL,要求在每条 SQL 语句之后必须使用分号。

2、SQL DML 和 DDL

SQL(结构化查询语言)可以分为两部分:

    DML(Data Manipulation Language,数据操作语言);

    DDL(Data Definition Language,数据定义语言)。

(1)DML 语句包括查询和更新指令:

    select  -  从数据库表中获取数据

    insert into  -  向数据库表中插入数据

    update  -  更新数据库表中的数据

    delete  -  从数据库表中删除数据

(2)DDL 语句使我们有能力创建或删除表格,也可以定义索引(键),规定表之间的链接,以及施加表间的约束:

    create database  -  创建新数据库

    alter database  -  修改数据库

    create table  -  创建新表

    alter table  -  变更数据库表

    drop table  -  删除表

    create index  -  创建索引(搜索键)

    drop index  -  删除索引

【1】SQL SELECT 语句

select 语句用于从表中选取数据,结果被存储在一个结果表中(称为:结果集)。

1、select 语法

select 列名称 from 表名称;

或:

select * from 表名称;

---- 温馨提示 --

星号 * 是选取所有列的快捷方式。

2、select 实例

(1)从 user 表查询名为 “user” 和 “host” 的列的内容

(2)从 user 表查询所有列

【2】 SQL SELECT DISTINCT 语句

在表中,可能会包含重复值,但有时候希望仅仅列出不同的值。关键词 distinct 用于返回唯一不同的值。

1、distinct 语法

select distinct 列名称 from 表名称;

2、distinct 实例

从 “host” 列中选取所有的值:select host from user;

可见,在结果集中,% 被列举了2次,localhost 被列举了3次。如果需要从 “host” 列中仅选取唯一不同的值,需要执行:select distinct host from user;

【3】SQL WHERE 子句

如需要有条件地从表中选取数据,可将 where 子句添加到 select 语句。

1、where 语法

select 列名称 from 表名称 where 列 运算符 值;

可在 where 子句中使用的运算符:

---- 温馨提示 ----

在 MySQL 8.0 中,操作符 <> 可以写为 !=

2、where 实例

如果只希望选取有 “Create_priv” 权限的人:

---- 温馨提示 ----

1、MySQL 8.0 可使用英文的单引号( '  ' )和双引号( "  " )来围绕文本值;

2、如果是数值,MySQL 8.0 可使用引号,也可不使用引号。

【4】SQL AND & OR 运算符

and 和 or 运算符用于基于一个以上的条件对记录进行过滤,可在 where 子句中把两个或多个条件结合起来。

如果第一个条件和第二个条件都成立,则 and 运算符显示一条记录;

如果第一个条件和第二个条件中只要其中的一个条件成立,则 or 运算符显示一条记录。

1、and 实例

查询 host 项为 “localhost” 和 plugin 项 为 “caching_sha2_password” 的用户:

2、or 实例

查询 host 项为 “localhost” 或者 plugin 项 为 “caching_sha2_password” 的用户:

3、结合 and 和 or 运算符

可以使用 圆括号()把 and 和 or 运算符结合起来组成复杂的表达式。

查询 拥有创建权限 或 拥有删除权限,且 host 项为 “%” 的用户:

【5】SQL ORDER BY 子句

order by 语句用于对结果集进行排序。默认是按照 “升序” 对结果集进行排序,关键词 asc 可以省略不写;若需要按照 “降序” 进行排序,可以使用 desc 关键字。

Orders表:

1、order by 实例1

以字母顺序显示公司名称:

2、order by 实例2

以字母顺序显示公司名称,并以数字顺序显示顺序号:

---- 上图中:虽然 2356 按数字排序应该排在首位,但是先以字母排序,再在相同的字母下,以数字排序,比如 W3school 。

3、order by 实例3

以逆字母顺序显示公司名称:

4、order by 实例4

以逆字母顺序显示公司名称,并以数字顺序显示顺序号:

【6】SQL INSERT INTO 语句

insert into 用于向表格中插入新的行。

1、insert into 语法

(1)插入单行数据

insert into 表名称 values(值1,值2,...);

或指定所要插入数据的列:

insert into 表名称(列1,列2,...)values(值1,值2,...);

(2)插入多行数据

insert into 表名称 values(值11,值12,...),(值21,值22,...), ... ;

2、insert into 实例

(1)插入新的行

(2)在指定的列中插入数据

(3)插入多行数据

【7】SQL UPDATE 语句

update 语句用于修改表中的数据。

1、update 语法

update 表名称 set 列名称 = 新值 where 列名称 = 某值 ;

2、update 实例

(1)更新某一行中的一个列

将第3行中 Company 为 Apple 的列更新为 LinkedIn:

(2)更新某一行中的多个列

将第2行中 Company 为 W3school 的列更新为 JianShu,OrderNumber 为 2356 的列更新为2345 :

【8】SQL DELETE 语句

delete语句用于删除表中的行。

1、delete 语法

(1)删除某行

delete from 表名称 where 列名称 = 值;

(2)删除所有行

delete from 表名称;

或:

delete * from 表名称;

---- 温馨提示 ----

删除所有行是在不删除表的情况下删除所有的行。这意味着表的结构、属性、索引都是完整的。

2、delete 实例

(1)删除 Company 为 Facebook 的那一行

(2)删除 Orders 表的所有行,但不删除 Orders 表

---- 后记 ----

 学习链接:http://www.w3school.com.cn/sql/index.asp


- End -

若有错误,请随时指正。也欢迎大家一起讨论,让我们野蛮成长!

相关文章

  • 每天一SQL语句(01):SQL 语句基础篇

    【开篇】SQL 语句基础篇 【前言】SQL 语法 1、SQL 注意事项 (1)SQL语句对大小写不敏感。 (2) ...

  • SQL 语句教程

    SQL 语句教程 SQL语句教程(01) SELECT.................................

  • SQL 语句教程3

    SQL 语句教程SQL语句教程(01) SELECT..................................

  • Mysql常用SQL语句收集

    mysql常用sql语句收集 基础篇 //查询时间,友好提示 $sql = "select date_format...

  • 插入数据并获取自增ID

    方法一:SQL语句 方法二:SQL语句 方法三:SQL语句 方法二:JDBC

  • MySql分组查询前N条记录

    Sql语句 SQL语句解析

  • SQL 高级 02

    SQL 高级 01 SQL 高级 03 SELECT INTO 语句 SELECT INTO 语句从一个表中选取数...

  • MySQL

    数据类型 sql基础 数据库表 SQL SELECT 语句: SQL WHERE 子句: SQL AND & OR...

  • 存储过程

    定义: 一组预编译好的SQL语句,可以理解成批量处理语句. 存储过程a : (SQL语句1;SQL语句2;SQL语...

  • MySQL笔记

    MySQL 基础篇 一、SQL 1、SQL 通用语法 (1)SQL语句可以单行或多行书写,以分号结尾。 (2)SQ...

网友评论

      本文标题:每天一SQL语句(01):SQL 语句基础篇

      本文链接:https://www.haomeiwen.com/subject/ajajaqtx.html