找到windows里的环境变量配置窗口,在PATH处添加mysql的安装路径,要一直到bin,如:D:\mysql-8.0.15-winx64\bin;
可以安装MySQLworkbench
打开cmd输入:
mysql -uroot -p
按照提示输入密码进入mysql
create database datawhale;
show databases;
创建mysql数据表需要以下信息:
常用数据类型
字符串数据类型 | 说明 |
---|---|
CHAR(n) | 0-255字节 定长字符串 |
VARCHAR(n) | 0-255字节 变长字符串 |
TEXT | 0-65 535字节 长文本数据 |
BLOB | 0-65 535字节 二进制形式的长文本数据 |
注:
数值型数据类型 | 说明 |
---|---|
INT | 4 字节大整数值 |
FLOAT(M,D) | 4 字节 单精度 |
DOUBLE(M,D) | 8 字节 双精度 |
DECIMAL (M,D) | 自定义精度 |
注:
日期型数据类型 | 格式 | 示例 | 用途 |
---|---|---|---|
DATE | YYYY-MM-DD | 2018-12-31 | 日期值 |
TIME | HH:MM:SS | 10:59:59 | 时间值或持续时间 |
YEAR | YYYY | 2018 | 年份值 |
DATETIME | YYYY-MM-DD HH:MM:SS | 2018-12-31 10:59:59 | 混合日期和时间值 |
TIMESTAMP | YYYYMMDD HHMMSS | 2018-12-31 10:59:59 | 混合日期和时间值,时间戳 |
总结一下,建表命令为:
CREATE TABLE table_name (
column_name1 column_type NOT NULL PRIMARY KEY,
column_name2 column_type NOT NULL REFERENCES TABLE2.KEY,
column_name3 column_type NOT NULL,CHECK(column_name3>0)
column_name4 column_type NOT NULL,
column_name5 column_type);
插入单行数据
INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
插入多行数据
INSERT INTO table_name ( field1, field2,...fieldN )
VALUE
( value1, value2,...valueN ),
( value1, value2,...valueN ),
;
其实value和values都可以插入多行,只是前者效率更高
1、查找重复的电子邮箱
创建和插入表
CREATE TABLE email (
ID INT NOT NULL PRIMARY KEY,
Email VARCHAR(255) NOT NULL
);
INSERT INTO email
VALUE
( '1','[email protected]'),
( '2','[email protected]' ),
( '3','[email protected]' )
;
编写一个 SQL 查询,查找 email 表中所有重复的电子邮箱。
select distinct(a.email)
from email a , email b
where a.Email=b.Email and a.id<>b.id;
或者:
select email from Email
group by email
having count(*)>1;
2、查找大国
创建和插入表
CREATE TABLE World (
name VARCHAR(50) NOT NULL,
continent VARCHAR(50) NOT NULL,
area INT NOT NULL,
population INT NOT NULL,
gdp INT NOT NULL
);
INSERT INTO World
VALUES('Afghanistan','Asia',652230,25500100,20343000);
INSERT INTO World
VALUES('Albania','Europe',28748,2831741,12960000);
INSERT INTO World
VALUES('Algeria','Africa',2381741,37100000,188681000);
INSERT INTO World
VALUES('Andorra','Europe',468,78115,3712000);
INSERT INTO World
VALUES('Angola','Africa',1246700,20609294,100990000);
如果一个国家的面积超过 300 万平方公里,或者(人口超过 2500 万并且 gdp 超过 2000 万),那么这个国家就是大国家。
编写一个 SQL 查询,输出表中所有大国家的名称、人口和面积。
select name,population,area from world
where area>3000000 or population >25000000 and gdp>20000000;
在MySQL中,比较运算符优先级:
NOT>AND>OR
不过加上括号总没错:)