SQL 基础知识终极指南
什么是数据库?
数据库是以电子方式从系统中存储和检索的大量数据集合。 存储在数据库中的结构化数据被处理、操纵、控制和更新以执行各种操作。 行业中使用的一些流行数据库是 Oracle、MySQL、PostgreSQL、MS SQL Server 和 SQLite。
什么是SQL?
SQL 是一种标准的编程语言,用于操作关系数据库并执行各种操作,例如从关系数据库中插入、操作、更新和检索数据。
为什么需要 SQL?
以下任务需要 SQL
- 创建新的数据库、表和视图
- 在数据库中插入记录
- 更新数据库中的记录
- 从数据库中删除记录
- 从数据库中检索数据
SQL的应用
- SQL用于创建数据库,定义其结构,实现它,并在数据库上执行各种功能。
- SQL 还用于访问、维护和操作已创建的数据库。
- SQL 是一种构建良好的语言,用于在数据库中输入数据、修改数据和提取数据。
- SQL 被大量用作客户端/服务器语言来连接前端和后端,从而支持客户端/服务器架构。
- SQL 部署为数据控制语言 (DCL) 时,有助于保护您的数据库免受未经授权的访问。
SQL的特点
- SQL 用于访问关系数据库中的数据。
- SQL 在非常有效地提取大量数据方面非常快。
- SQL 非常灵活,因为它可以与来自 Oracle、IBM、Microsoft 等的多个数据库系统配合使用。
- SQL 可帮助您管理数据库,而无需了解大量编码。
SQL 中的基本查询
在本节中,我们将在 MySQL Workbench 上运行一些常用的命令。
SHOW Statment
列出了 MySQL Workbench 服务器主机上存在的数据库。
语法
show databases;

use Statment
USE 语句选择一个数据库并在该数据库上执行 SQL 操作。该数据库保持默认状态,直到会话结束或与某个其他数据库执行另一个 USE 语句。
语法
USE database_name;

CREATE TABLE Statement
CREATE TABLE 语句在 SQL 中用于创建新表。
语法
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
column3 datatype,
....
);
以下 SQL 查询将创建一个具有以下属性的客户表:客户 ID、客户姓名、年龄、性别、购买日期、地址、项目和价格。
CREATE TABLE customers (
Cust_Id INT PRIMARY KEY,
Cust_Name VARCHAR(25),
Age INT,
Gender CHAR(1),
Dop DATE,
Address VARCHAR(20),
Item VARCHAR(15),
Price FLOAT
);

INSERT INTO Statement
INSERT INTO 语句主要用于在表中添加新数据。
语法
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
以下 SQL 查询将数据插入到客户表中的记录中。
insert into customers values
(101, "Joseph", 22, "M", "2016-11-23", "Pune", "Vegetable", 80),
(102, "Nilesh", 21, "M", "2016-11-23", "New York", "softdrink", 800),
(103, "Vipul", 33, "M", "2016-11-23", "Miami", "candies", 620),
(104, "Anubhav", 61, "M", "2016-11-23", "Pune", "fruits", 250),
(105, "Utkarsh", 45, "M", "2016-11-23", "New York", "snacks", 380),
(106, "Ishan", 44, "M", "2016-11-23", "Miami", "potato", 60),
(107, "Ankit", 52, "M", "2016-11-23", "Chicago", "ice cream", 220),
(108, "Akshay", 36, "M", "2016-11-23", "Pune", "coffee", 80),
(109, "Akash", 28, "M", "2016-11-23", "New York", "Vegetable", 150),
(110, "Tanishq", 19, "M", "2016-11-23", "Miami", "noodles", 400),
(111, "Raghav", 24, "M", "2016-11-23", "Detroit", "cups", 3400),
(112, "Anand", 54, "M", "2016-11-23", "Pune", "watermelon", 680),
(113, "Amrit", 43, "M", "2016-11-23", "Miami", "facewash", 340),
(114, "Andrew", 18, "M", "2016-11-23", "Boston", "shampoo", 950),
(115, "Ricky", 26, "M", "2016-11-23", "Detroit", "vanilla", 290),
(116, "Cummins", 30, "M", "2016-11-23", "Chicago", "mango", 640),
(117, "Rabada", 40, "M", "2016-11-23", "Boston", "banana", 80),
(118, "Johnson", 55, "M", "2016-11-23", "New York", "batteries", 420),
(119, "Adam", 45, "M", "2016-11-23", "Boston", "router", 160),
(120, "Illeana", 25, "F", "2016-11-23", "Chicago", "brinjal", 550);

SELECT Statement
最常用的 SQL 命令是 SELECT 语句。 SQL SELECT 语句用于从数据库的表中选择行和列。
语法
SELECT column1, column2, ...
以下 SQL 查询将返回客户表的所有记录。
Select * from customers;

以下 SQL 查询将返回 customer 表中所有记录的列 customer id 和 customer name。
select Cust_id,Cust_Name from customers;

DROP TABLE Statement
DROP 语句主要用于删除特定表。 删除表将删除其中的所有对象(表、视图、过程等)。 用户应该具有删除表的管理员权限。
语法
DROP TABLE table_name;
以下 SQL 查询将从数据库中删除或删除客户表。
Drop table customers;

TRUNCATE TABLE Statement
TRUNCATE TABLE 命令删除表内的数据,但不删除表本身。
语法
TRUNCATE TABLE Categories;

UPDATE Statement
UPDATE 语句主要用于更新表中的现有记录。
语法
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
以下 SQL 查询会将客户 id = 101 的记录中的客户名称更新为 James,并将城市名称更新为 Boston。
update customers set Cust_Name = "James", Address= "Boston" where Cust_Id = 101;

总结
SQL 被开发用于访问关系数据库中的数据。 自从公司意识到需要处理数据以来,SQL 开发人员的需求就很大。 在本教程中,我们已经介绍了 SQL 的基础知识。
要学习更详细的 SQL ,请查看 SQL教程。
SQL 基础知识终极指南的更多相关文章
- [SQL] SQL 基础知识梳理(一)- 数据库与 SQL
SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...
- [SQL] SQL 基础知识梳理(二) - 查询基础
SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(三) - 聚合和排序
SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...
- [SQL] SQL 基础知识梳理(四) - 数据更新
SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(五) - 复杂查询
SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(六)- 函数、谓词、CASE 表达式
SQL 基础知识梳理(六)- 函数.谓词.CASE 表达式 目录 函数 谓词 CASE 表达式 一.函数 1.函数:输入某一值得到相应输出结果的功能,输入值称为“参数”,输出值称为“返回值”. 2. ...
- [SQL] SQL 基础知识梳理(七)- 集合运算
SQL 基础知识梳理(七)- 集合运算 目录 表的加减法 联结(以列为单位) 一.表的加减法 1.集合:记录的集合(表.视图和查询的执行结果). 2.UNION(并集):表的加法 -- DDL:创建表 ...
- 如何编写更好的SQL查询:终极指南-第二部分
上一篇文章中,我们学习了 SQL 查询是如何执行的以及在编写 SQL 查询语句时需要注意的地方. 下面,我进一步学习查询方法以及查询优化. 基于集合和程序的方法进行查询 反向模型中隐含的事实是,建立查 ...
- 如何编写更好的SQL查询:终极指南-第三部分
本次我们学习<如何编写更好的SQL查询>系列的最后一篇文章. 时间复杂度和大O符号 通过前两篇文章,我们已经对查询计划有了一定了解.接下来,我们还可以借助计算复杂度理论,来进一步深入地挖掘 ...
随机推荐
- Python基础(条件判断)
# age = 103 # if age < 90: # print('%s小于90' %age) # elif age > 90 and age < 95: # print('%s ...
- linux安装python3.6.1
Linux下安装Python3.6和第三方库 如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境, 比如yum!!! ...
- [atARC116F]Deque Game
假设两个操作者分别为$A$和$B$,其中$A$希望最大.$B$希望最小 (并不默认$A$为整局游戏的先手,仅是最终的结果考虑$A$为先手时) 记第$i$个队列第$j$个元素为$a_{i,j}$(其中$ ...
- MyBatis-Plus中如何使用ResultMap
MyBatis-Plus (简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发.提高效率而生. MyBatis-Plus对MyBatis基本零侵入,完全可以 ...
- Python学习手册——第二部分 类型和运算(1)之字符串
Python全景 1.程序由模块构成. 2.模块包含语句. 3.语句包含表达式. 4.表达式建立并处理对象. 在python中数据是以对象的形式出现的!!! 为什么使用内置类型 内置对象使程序更容易编 ...
- Python迭代器生成器与生成式
Python迭代器生成器与生成式 什么是迭代 迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果.每一次对过程的重复称为一次"迭代",而每一次迭代得到的结果会作为下一次迭 ...
- 强化学习之MountainCarContinuous(注册自己的gym环境)
目录 1. 问题概述 2. 环境 2.1 Observation & state 2.2 Actions 2.3 Reward 2.4 初始状态 2.5 终止状态- Episode Termi ...
- [NOIP2017 提高组] 逛公园
考虑先做一个\(dp\),考虑正反建图,然后按0边拓扑,然后按1到这里的最小距离排序,然后扩展这个\(f_{i,j}\),即多了\(j\)的代价的方案数.
- Vue 中使用 TypeScript axios 使用方式
Vue 中使用 TypeScript axios 使用方式 方式一 import axios from 'axios'; Vue.prototype.$axios = axios; // 在 .vue ...
- Anaconda 镜像配置
镜像源 清华大学: https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ 北京外国语大学: https://mirrors.bfsu.edu.cn/h ...