美文网首页
基础语法复习——SQL

基础语法复习——SQL

作者: 哈尼橘橘 | 来源:发表于2019-03-28 20:22 被阅读0次

SQL

Structured Query Language,结构化查询语言,可用于访问和处理数据库。
基本操作:增删改查。
大小写不敏感,每一个命令用分号结尾。

为了更好的复习,所以这里就用命令行,而不用GUI

  • 在所有操作之前的准备工作当然是要先安装配置好SQL环境
  • 命令行登陆mysql -h localhost -u root -p
    这样就完成了最开始的准备工作

基础语法

show databases; 查看所有的数据库


use Databases_name; 选择需要的数据库

show tables; 查看所选择的数据库中所有的表

create database db_name; 创建新的数据库

create table table_name
(
column_name1 data_type(size),
column_name2 data_type(size),
...
);

创建新的表


增(INSERT INTO)

语法:
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);

删(DELETE)

语法:
DELETE FROM table_name WHERE some_column = some_value; 删除指定表中的某条数据
如果不加后面的WHERE语句,就会把整个表都删除。

改(UPDATE)

语法:
UPDATE table_name SET column1 = value1, column2=value2, ... WHERE some_column=some_value; 更新某个表中的某条数据
如果不加WHERE语句,会把整个表的该字段都更新。

查(SELECT)

SELECT * FROM table_name; 查看整个表的数据

SELECT column_name1, column_name2, ... FROM table_name; 查看指定表中某几个字段的数据

运算符(AND&OR)

AND:两个条件都满足时,显示记录;
OR:只要有其中一个条件满足,就显示记录。


关键字(ORDER BY&DESC)

对查询的结果集进行排序,默认为升序,若要按降序排列,可使用DESC关键字。


进阶

因为本胖太菜了,只会一点MySQL,所以这后面都只考虑MySQL里面的情况。

通配符

通配符 描述
% 替代0个或多个字符
_ 替代一个字符
[charlist] 字符列中的任何单一字符
^[charlist]或![charlist] 不在字符列中的任何单一字符

在MySQL中,用REGEXP或NOT REGEXP运算符来操作正则表达式。(^和!都是正则表达式中的内容)
通配符%和_在下面LIKE部分做演示,这里演示后两种情况。
查找出empno中有数字2或3的信息

查找出empno中有数字3-6其中之一的信息

查找出empno中没有数字3-9任何一个数字的信息

SELECT TOP

用来规定返回的记录的数目。
并非所有的数据库系统都支持这个语句。MySQL支持LIMIT语句,Oracle使用ROWNUM。
MySQL语法:
SELECT column_name(s) FROM table_name LIMIT number;

LIKE

用在WHERE子句中,搜索某列内容中指定的内容。
语法:
SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern;不知道pattern意思的自己去百度
查询ename用J开头的所有员工信息:

查询ename以E/e结尾的所有员工信息:

查询ename中包含了ar字符的所有员工信息:

查询ename中以任意字符开头,以nne结尾的所有员工信息

IN

允许在WHERE子句中规定多个值。
语法:
SELECT column(s) WHERE table_name WHEREcolumn_name IN (value1, value2, ...);

如果你非要用=来去多个值的话,用or也可以实现

BETWEEN

查询介于两个值之间的数据范围内的值,值得类型可以不仅仅是数值。
语法:
SELECT column_name(s) FROM table_name WHERE column_name BETWEEN value1 AND value2;

BETWEEN前面加上not也可以


AS

为指定表或列指定新的名字。
语法:
SELECT column_name AS new_name FROM table_name;
SELECT column_name(s) FROM table_name AS new_name;

image.png image.png

使用AS修改的名字,是暂时的。

JOIN

基于两个或多个表之间共同的字段,用JOIN把他们的行结合起来。

INNER JOIN

语法:
SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name;
dept表:

emp表:


结合之后:


LEFT (OUTER) JOIN

从左表(table1)返回所有的行,若右表(table2)没有匹配,则结果为NULL。
语法:
SELECT column_name(s) FROM table1 LEFT (OUTER) JOIN table2 ON table1.column_name = table2.column_name;

图源 RUNOOB
RIGHT (OUTER) JOIN

从右表(table2)返回所有的行,若左表(table1)没有匹配,则结果为NULL。
语法:
SELECT column_name(s) FROM table1 RIGHT (OUTER) JOIN table2 ON table1.column_name = table2.column_name;

图源 RUNOOB

哪边的JOIN,哪边的表就会被全部显示。

FULL (OUTER) JOIN

只要左右两表其中一个存在匹配,就返回行。
语法:
`SELECT column_name(s) FROM table1 FULL (OUTER) JOIN table2 ON table1.column_name = table2.column_name;``

图源 RUNOOB

UNION

用于联合查询,联合多个SELECT语句的结果集,结果集中的列名等于UNION中第一个SELECT语句中的列名。
UNION内部的每个SELECT语句结果必须列数相同,列的数据类型、顺序也必须相同。
语法:
SELECT column_name(s) FROM table1 UNION SELECT column_name(s) FROM table2; 默认将重复的值合并为一个。
SELECT column_name(s) FROM table1 UNION ALL SELECT column_name(s) FROM table2; 允许重复的值。

不管是啥基础语言,都还是要动手实践一下才会更好呐

相关文章

  • SQL基础语法复习

    1. DML 数据操作指令 select 查 update 改 delete 删 insert into 增 d...

  • 基础语法复习——SQL

    SQL Structured Query Language,结构化查询语言,可用于访问和处理数据库。基本操作:增删...

  • 二、SQL笔记--MySQL基本操作

    一、SQL语法规则 SQL语法规则:SQL是一种结构化编程语言 基础SQL指令通常是以行为单位 SQL指令需要语句...

  • 2019-04-05 离职、工作、学习计划

    1.复习mysql 基础知识2.复习python语法3.复习linux 基础命令

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

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

  • SQL语法基础

    数据库操作 查看数据库MySQL服务器中的所有的数据库: 查看某个数据库的定义的信息: 删除数据库 切换数据库 查...

  • SQL 基础语法

    http://www.w3school.com.cn/sql/sql_syntax.asp IOS 面试题 htt...

  • SQL基础语法

    查找 以及 Persons 表 获取名为 "LastName" 和 "FirstName" 的列的内容 结果 从 ...

  • SQL基础语法

    基本增,删,查,改操作 假设存在数据库为WebApplication 表名User 如下所示 IDUsername...

  • SQL基础语法

    参考资料https://blog.csdn.net/qq_38225558/article/details/827...

网友评论

      本文标题:基础语法复习——SQL

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