什么是数据库?

数据库是以电子方式从系统中存储和检索的大量数据集合。 存储在数据库中的结构化数据被处理、操纵、控制和更新以执行各种操作。 行业中使用的一些流行数据库是 Oracle、MySQLPostgreSQL、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 基础知识终极指南的更多相关文章

  1. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  2. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  3. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  4. [SQL] SQL 基础知识梳理(四) - 数据更新

    SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...

  5. [SQL] SQL 基础知识梳理(五) - 复杂查询

    SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...

  6. [SQL] SQL 基础知识梳理(六)- 函数、谓词、CASE 表达式

    SQL 基础知识梳理(六)-  函数.谓词.CASE 表达式 目录 函数 谓词 CASE 表达式 一.函数 1.函数:输入某一值得到相应输出结果的功能,输入值称为“参数”,输出值称为“返回值”. 2. ...

  7. [SQL] SQL 基础知识梳理(七)- 集合运算

    SQL 基础知识梳理(七)- 集合运算 目录 表的加减法 联结(以列为单位) 一.表的加减法 1.集合:记录的集合(表.视图和查询的执行结果). 2.UNION(并集):表的加法 -- DDL:创建表 ...

  8. 如何编写更好的SQL查询:终极指南-第二部分

    上一篇文章中,我们学习了 SQL 查询是如何执行的以及在编写 SQL 查询语句时需要注意的地方. 下面,我进一步学习查询方法以及查询优化. 基于集合和程序的方法进行查询 反向模型中隐含的事实是,建立查 ...

  9. 如何编写更好的SQL查询:终极指南-第三部分

    本次我们学习<如何编写更好的SQL查询>系列的最后一篇文章. 时间复杂度和大O符号 通过前两篇文章,我们已经对查询计划有了一定了解.接下来,我们还可以借助计算复杂度理论,来进一步深入地挖掘 ...

随机推荐

  1. Python基础(条件判断)

    # age = 103 # if age < 90: # print('%s小于90' %age) # elif age > 90 and age < 95: # print('%s ...

  2. linux安装python3.6.1

    Linux下安装Python3.6和第三方库   如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境, 比如yum!!! ...

  3. [atARC116F]Deque Game

    假设两个操作者分别为$A$和$B$,其中$A$希望最大.$B$希望最小 (并不默认$A$为整局游戏的先手,仅是最终的结果考虑$A$为先手时) 记第$i$个队列第$j$个元素为$a_{i,j}$(其中$ ...

  4. MyBatis-Plus中如何使用ResultMap

    MyBatis-Plus (简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发.提高效率而生. MyBatis-Plus对MyBatis基本零侵入,完全可以 ...

  5. Python学习手册——第二部分 类型和运算(1)之字符串

    Python全景 1.程序由模块构成. 2.模块包含语句. 3.语句包含表达式. 4.表达式建立并处理对象. 在python中数据是以对象的形式出现的!!! 为什么使用内置类型 内置对象使程序更容易编 ...

  6. Python迭代器生成器与生成式

    Python迭代器生成器与生成式 什么是迭代 迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果.每一次对过程的重复称为一次"迭代",而每一次迭代得到的结果会作为下一次迭 ...

  7. 强化学习之MountainCarContinuous(注册自己的gym环境)

    目录 1. 问题概述 2. 环境 2.1 Observation & state 2.2 Actions 2.3 Reward 2.4 初始状态 2.5 终止状态- Episode Termi ...

  8. [NOIP2017 提高组] 逛公园

    考虑先做一个\(dp\),考虑正反建图,然后按0边拓扑,然后按1到这里的最小距离排序,然后扩展这个\(f_{i,j}\),即多了\(j\)的代价的方案数.

  9. Vue 中使用 TypeScript axios 使用方式

    Vue 中使用 TypeScript axios 使用方式 方式一 import axios from 'axios'; Vue.prototype.$axios = axios; // 在 .vue ...

  10. Anaconda 镜像配置

    镜像源 清华大学: https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ 北京外国语大学: https://mirrors.bfsu.edu.cn/h ...