1. 连接数据库并创建数据库和数据表
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的增删改查
INSERT INTO语句
INSERT INTO语句可以有两种编写形式:
第一种形式无需指定要插入数据的列名,只需提供被插入的值即可。
INSERT INTO table_name
VALUES (value1,value2,value3,...);
第二种形式需要指定列名及被插入的值。
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
执行如下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;
执行如下SQL语句,从Websites选取所有列。
SELECT * FROM Websites;
UPDATE语句
UPDATE语句用于更新表中已存在的记录。
UPDATE语句的语法:
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
执行如下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;
执行如下SQL语句,从Websites表中删除网站名为开发者社区的网站。然后再读取Websites表。
DELETE FROM Websites WHERE name='开发者社区';
SELECT * FROM Websites;
3.SELECT DISTINCT语句
在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。
SELECT DISTINCT语句用于返回唯一不同的值。
SELECT DISTINCT column_name,column_name
FROM table_name;
执行如下SQL语句,先插入一条数据,然后从Websites表的country列中选取唯一不同的值,也就是去掉country列重复值。
INSERT INTO Websites VALUES ('6', 'Google', 'https://www.Google.com/','12','USA');
SELECT DISTINCT country FROM Websites;