一小时快速掌握 SQL 语法

本文涉及的产品
轻量应用服务器 4vCPU 16GiB,适用于搭建游戏自建服
轻量应用服务器 2vCPU 4GiB,适用于搭建Web应用/小程序
轻量应用服务器 2vCPU 4GiB,适用于网站搭建
简介: 本实验带您学习SQL的基础语法,快速入门SQL。

一小时快速掌握 SQL 语法

1. 创建实验资源

开始实验之前,您需要先创建实验相关资源。

  1. 在实验室页面,单击创建资源
  2. (可选)在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如IP地址、用户信息等)。

说明:资源创建过程需要3~5分钟。


2. 连接数据库并创建数据库和数据表

本步骤指导您如何连接ECS实例上的MySQL数据库,创建实验所需的数据库和数据表。

  1. 执行如下命令,登录数据库。
mysql -uroot -p
  1. 输入root用户登录密码,密码为t2+Ekyrh1;)R

  1. 返回结果如下,表示登录成功。

  1. 执行如下命令,修改root用户密码为Test123!
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Test123!' PASSWORD EXPIRE NEVER;
  1. 创建数据库。
  • 创建数据库的语法:
create DATABASE 数据库名;
  • 创建数据库的示例:

执行如下SQL语句,创建数据库Test。

create DATABASE Test;
  1. 选择数据库。
  • 选择数据库的语法:
use 数据库名;
  • 选择数据库的示例:

执行如下SQL语句,使用数据库Test。

use Test;
  1. 创建数据表。
  • 创建数据表的语法:
CREATE TABLE table_name(column_name column_type);
  • 创建数据表的示例:

执行如下SQL语句,在Test数据库中创建数据表Websites。

CREATE TABLE Websites (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` char(20) NOT NULL DEFAULT '' COMMENT '站点名称',
  `url` varchar(255) NOT NULL DEFAULT '',
  `rank` int(11) NOT NULL DEFAULT '0' COMMENT '排名',
  `country` varchar(255) NOT NULL DEFAULT '',
   PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;


3. SQL的增删改查

本步骤带您学习SQL的基础语法增删改查。

  1. INSERT INTO语句。

INSERT INTO语句用于向表中插入新记录。

  • INSERT INTO语句的语法:

INSERT INTO语句可以有两种编写形式。

  • 第一种形式无需指定要插入数据的列名,只需提供被插入的值即可。
INSERT INTO table_name
VALUES (value1,value2,value3,...);
  • 第二种形式需要指定列名及被插入的值。
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
  • INSERT INTO语句的示例:

执行如下SQL语句,向Websites表中插入五条数据。

INSERT INTO Websites VALUES ('1', '阿里云', 'https://www.aliyun.com/','12','CN'), ('2', '淘宝', 'https://www.taobao.com/','1','CN'), ('3', '帮助中心', 'https://help.aliyun.com/','112','CN'), ('4', '开发者社区', 'https://developer.aliyun.com/','213','CN'), ('5', '云起实验室', 'https://developer.aliyun.com/adc/',20,'CN');
  1. SELECT语句。

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

  • SELECT语句的语法:
  • 第一种形式是从table_name表中选取部分列。
SELECT column_name,column_name
FROM table_name;
  • 第二种形式是从table_name"表中选取所有列。
SELECT * FROM table_name;
  • SELECT语句的示例:

执行如下SQL语句,从Websites选取所有列。

SELECT * FROM Websites;

  1. UPDATE语句。

UPDATE语句用于更新表中已存在的记录。

  • UPDATE语句的语法:
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
  • UPDATE语句的示例:

执行如下SQL语句,将云起实验室的rank列更新为3,然后再读取Websites表。

UPDATE Websites SET rank='3' WHERE name='云起实验室';
SELECT * FROM Websites;

  1. DELETE语句。

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

  • DELETE语句的语法:
DELETE FROM table_name
WHERE some_column=some_value;
  • DELETE语句的示例:

执行如下SQL语句,从Websites表中删除网站名为开发者社区的网站。然后再读取Websites表。

DELETE FROM Websites WHERE name='开发者社区';
SELECT * FROM Websites;


4. SELECT DISTINCT语句

在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。

SELECT DISTINCT语句用于返回唯一不同的值。

  • SELECT DISTINCT语句的语法:
SELECT DISTINCT column_name,column_name
FROM table_name;
  • SELECT DISTINCT语句的示例:

执行如下SQL语句,先插入一条数据,然后从Websites表的country列中选取唯一不同的值,也就是去掉country列重复值。

INSERT INTO Websites VALUES ('6', 'Google', 'https://www.Google.com/','12','USA');
SELECT DISTINCT country FROM Websites;

实验链接:https://developer.aliyun.com/adc/scenario/1aa5513202054aa0863d2474ec68c2ba

相关文章
|
2月前
|
SQL 存储 关系型数据库
【MySQL基础篇】全面学习总结SQL语法、DataGrip安装教程
本文详细介绍了MySQL中的SQL语法,包括数据定义(DDL)、数据操作(DML)、数据查询(DQL)和数据控制(DCL)四个主要部分。内容涵盖了创建、修改和删除数据库、表以及表字段的操作,以及通过图形化工具DataGrip进行数据库管理和查询。此外,还讲解了数据的增、删、改、查操作,以及查询语句的条件、聚合函数、分组、排序和分页等知识点。
【MySQL基础篇】全面学习总结SQL语法、DataGrip安装教程
|
8月前
|
SQL 关系型数据库 MySQL
MySQL数据库基础第一篇(SQL通用语法与分类)
MySQL数据库基础第一篇(SQL通用语法与分类)
|
3月前
|
SQL 存储 关系型数据库
SQL `CREATE DATABASE` 语法
【11月更文挑战第10天】
100 3
|
3月前
|
SQL 关系型数据库 数据库
sql语法
【10月更文挑战第26天】sql语法
55 5
|
8月前
|
SQL PHP
thinkphp之进阶sql语法,持续更新
thinkphp之进阶sql语法,持续更新
58 0
|
4月前
|
SQL 数据库
SQL数据库基础语法入门
[link](http://www.vvo.net.cn/post/082935.html)
|
4月前
|
SQL 存储 关系型数据库
mysql SQL必知语法
本文详细介绍了MySQLSQL的基本语法,包括SELECT、FROM、WHERE、GROUPBY、HAVING、ORDERBY等关键字的使用,以及数据库操作如创建、删除表,数据类型,插入、查询、过滤、排序、连接和汇总数据的方法。通过学习这些内容,读者将能更好地管理和操
79 0
|
4月前
|
SQL 关系型数据库 MySQL
Mysql(2)—SQL语法详解
SQL(Structured Query Language,结构化查询语言)是一种用于管理关系型数据库的标准编程语言。它主要用于数据的查询、插入、更新和删除等操作。SQL最初在1970年代由IBM的研究人员开发,旨在处理关系数据模型。
59 0
|
6月前
|
SQL 关系型数据库 MySQL
INSERT INTO t_a.tableName SELECT * FROM t_b.tableName 如何通过定义一个list对象,包含多个tableName,循环执行前面的sql,用MySQL的语法写
【8月更文挑战第7天】INSERT INTO t_a.tableName SELECT * FROM t_b.tableName 如何通过定义一个list对象,包含多个tableName,循环执行前面的sql,用MySQL的语法写
70 5
|
7月前
|
SQL 关系型数据库 数据库
sql语法
【7月更文挑战第30天】sql语法
65 12