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符号 通过前两篇文章,我们已经对查询计划有了一定了解.接下来,我们还可以借助计算复杂度理论,来进一步深入地挖掘 ...
随机推荐
- [hdu7081]Pty loves book
建立ac自动机,令$S_{x}$为以根到$x$的路径所构成的字符串以及$L_{x}=|S_{x}|,W_{x}=\sum_{1\le i\le m,t_{i}为S_{x}的后缀}w_{i}$,那么不难 ...
- [luogu7600]封闭道路
对于确定的$K$,问题也可以看作每一个点最多选$K$条出边,并最大化选择的边权和 关于这个问题,有如下的树形dp-- 令$f_{k,0/1}$表示以$k$为根的子树中,根节点选择不超过$K/K-1$个 ...
- Redis | 第一部分:数据结构与对象 中篇《Redis设计与实现》
目录 前言 1. 跳跃表 1.1 跳跃表与其节点的定义 1.2 跳跃表的API 2. 整数集合 2.1 整数集合的实现 2.2 整数集合的类型升级 2.3 整数集合的API 3. 压缩列表 3.1 压 ...
- C/C++ Qt Dialog 对话框组件应用
在Qt中对话框分为两种形式,一种是标准对话框,另一种则是自定义对话框,在一般开发过程中标准对话框使用是最多的了,标准对话框一般包括 QMessageBox,QInputDialog,QFileDial ...
- jvm的垃圾回收
首先类加载的过程:加载验证准备解析初始化 类加载器: jvm内存模型图: 空着,等以后补上 jvm垃圾收集器 目前只知道,parnew,cms,g1 parnew新生代垃圾回收器,复制算法 cms复制 ...
- 洛谷 P6349 - [PA2011]Kangaroos(KDT+标记下放)
洛谷题面传送门 KDT 上打标记的 hot tea. 考虑将询问 \(A,B\) 看作二维平面直角坐标系上的一个点 \((A,B)\),那么我们这样考虑,我们从左到右扫过全部 \(n\) 个区间并开一 ...
- Codeforces 870F - Path(数论+分类讨论+正难则反)
Codeforces 题目传送门 & 洛谷题目传送门 首先考虑 \(d(u,v)\) 是个什么东西,分情况讨论: \(u\not\perp v\),\(d(u,v)=1\) \(u\perp ...
- P4569 [BJWC2011]禁忌
题目传送门. 题意简述:给出大小为 \(n\) 的字典 \(s\).设函数 \(g(t)\) 表示 \(t\) 最多能被分割成的单词个数.等概率随机生成长度为 \(len\) 的字符串 \(T\),求 ...
- PowerDotNet平台化软件架构设计与实现系列(05):ETCD分布式键值存储平台
ETCD目前在PowerDotNet已经被用于注册中心和配置管理(常见的配置中心在PowerDotNet中仅仅是一个小小的模块而已)中,作为基础设施的重要组成部分,ETCD的重要性不言而喻. 本文简单 ...
- 数据仓库和数据集市:ODS、DW、DWD、DWM、DWS、ADS
@ 目录 数据流向 何为数仓DW 主要特点 与数据库的对比 为何要分层 数据分层 数据运营层ODS 数据仓库层 数据细节层DWD 数据中间层DWM 数据服务层DWS(DWT) 数据应用层ADS 事实表 ...