1.连接数据库并创建数据库和数据表
本步骤指导您如何连接ECS实例上的MySQL数据库,创建实验所需的数据库和数据表。
执行如下命令,登录数据库。
mysql -uroot -p
输入root用户登录密码,密码为t2+Ekyrh1;)R。
返回结果如下,表示登录成功。
执行如下命令,修改root用户密码为Test123!。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Test123!' PASSWORD EXPIRE NEVER;
创建数据库。
- 创建数据库的语法:
create DATABASE 数据库名;
- 创建数据库的示例:
执行如下SQL语句,创建数据库Test。
create DATABASE Test;
选择数据库。
- 选择数据库的语法:
use 数据库名;
- 选择数据库的示例:
执行如下SQL语句,使用数据库Test。
use Test;
创建数据表。
- 创建数据表的语法:
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;
2.SQL的增删改查
本步骤带您学习SQL的基础语法增删改查。
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');
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;
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;
DELETE语句。
DELETE语句用于删除表中的行。
- DELETE语句的语法:
DELETE FROM table_name
WHERE some_column=some_value;
- DELETE语句的示例:
执行如下SQL语句,从Websites表中删除网站名为开发者社区的网站。然后再读取Websites表。
DELETE FROM Websites WHERE name='开发者社区';
SELECT * FROM Websites;
3.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;
me;
- SELECT DISTINCT语句的示例:
执行如下SQL语句,先插入一条数据,然后从Websites表的country列中选取唯一不同的值,也就是去掉country列重复值。
INSERT INTO Websites VALUES (‘6’, ‘Google’, ‘https://www.Google.com/’,‘12’,‘USA’);
SELECT DISTINCT country FROM Websites;
![img](https://img-blog.csdnimg.cn/img_convert/072c3527e6c574c764be466a6e7b2eec.png)