SHOW DATABASES;
CREATE DATABASE db1;
CREATE DATABASE db2;
CREATE DATABASE IF NOT EXISTS db4;
DROP DATABASE db4;
DROP DATABASE IF EXISTS db2;
USE db1;
CREATE TABLE goods(
NAME VARCHAR(10),
price DOUBLE,
sales_volume INT,
produced_date DATE
);
CREATE TABLE student(
id INT,
NAME VARCHAR(10),
sex CHAR(1),
birthday DATE,
score DOUBLE(5,2),
email VARCHAR(64),
phone VARCHAR(20)
);
SHOW TABLES;
DESC goods;
DROP TABLE student;
ALTER TABLE goods RENAME TO goods2;
ALTER TABLE goods2 ADD img VARCHAR(20);
ALTER TABLE goods2 MODIFY img VARCHAR(100);
ALTER TABLE goods2 CHANGE img icon VARCHAR(80);
ALTER TABLE goods2 DROP icon;
INSERT INTO goods2(NAME,price) VALUES('格力空调',3999);
INSERT INTO goods2(NAME,price,sales_volume,produced_date) VALUES('海尔空调',2999,1000,'2022-11-20');
INSERT INTO goods2 VALUES('小米12',4999,300,'2022-11-01');
INSERT INTO goods2 VALUES
('iPhone 12', 6799, 12000, '2020-10-28'),
('DELL 7590', 8799, 300, '2019-06-18'),
('立白洗衣粉', 12.9, 39000, '2018-02-13'),
('华为P40',4999,300,'2022-03-01');
UPDATE goods2 SET price = 0;
UPDATE goods2 SET price = 5999 WHERE NAME = '华为P40';
UPDATE goods2 SET price = 3999,sales_volume = 10000 WHERE NAME ='小米12';
DELETE FROM goods2 WHERE NAME = '小米12';
DELETE FROM goods2;
CREATE TABLE goods2 (
NAME VARCHAR(10),
price DOUBLE,
sales_volume INT,
produced_date DATE,
category VARCHAR(20)
);
INSERT INTO goods2 VALUES
('华为P40',5999,1000,'2020-08-20','手机'),
('小米11',4999,5000,'2020-12-28','手机'),
('红米K30',2999,22000,'2020-03-11','手机'),
('糯米',8.99,200,'2016-06-08','食物'),
('米糊',7.99,30,'2013-11-22','食物'),
('iPhone 12',6799,12000,'2020-10-28','手机'),
('DELL 7590',8799,300,'2019-06-18','电脑'),
('立白洗衣粉',12.9,39000,'2018-02-13','日用品'),
(NULL,88,666,NULL,NULL),
('联想电脑',8799,700,'2017-03-13','电脑'),
('惠普电脑',8799,50,'2008-12-13','电脑');
SELECT NAME,price FROM goods2;
SELECT NAME,price,sales_volume,produced_date,category FROM goods2;
SELECT * FROM goods2;
INSERT INTO goods2 VALUES('立白洗衣粉', 12.9, 39000, '2018-02-13','日用品');
SELECT DISTINCT NAME FROM goods2;
SELECT price * sales_volume FROM goods2;
SELECT price*0.8 FROM goods2;
SELECT NAME AS 商品名称,price AS 价格 FROM goods2;
SELECT NAME 商品名称,price 价格 FROM goods2;
SELECT * FROM goods2 WHERE price >1000;
SELECT * FROM goods2 WHERE sales_volume <5000;
SELECT * FROM goods2 WHERE price != 6799;
SELECT * FROM goods2 WHERE price>1000 AND sales_volume <500;
SELECT * FROM goods2 WHERE price>8000 OR sales_volume <100;
SELECT * FROM goods2 WHERE NAME = '华为P40' OR NAME = '小米11' OR NAME = '米糊';
SELECT * FROM goods2 WHERE NAME IN('华为P40','小米11','米糊');
SELECT * FROM goods2 WHERE NAME NOT IN('华为P40','小米11','米糊');
SELECT * FROM goods2 WHERE price BETWEEN 1000 AND 5000;
SELECT * FROM goods2 WHERE NAME IS NULL;
SELECT * FROM goods2 WHERE NAME IS NOT NULL;
SELECT * FROM goods2 WHERE NAME LIKE '米%';
SELECT * FROM goods2 WHERE NAME LIKE '%米%';
SELECT * FROM goods2 WHERE NAME LIKE '_米%';
SELECT * FROM goods2 WHERE NAME LIKE '%米'
SELECT * FROM goods2 WHERE NAME LIKE '____'
SELECT * FROM goods2 ORDER BY price ASC;
SELECT * FROM goods2 ORDER BY price DESC;
SELECT * FROM goods2 ORDER BY price DESC ,sales_volume DESC;
SELECT COUNT(NAME) FROM goods2;
SELECT COUNT(*) FROM goods2;
SELECT COUNT(*) FROM goods2 WHERE price >1000;
SELECT SUM(sales_volume) FROM goods2;
SELECT MIN(sales_volume) FROM goods2;
SELECT MAX(sales_volume) FROM goods2;
SELECT AVG(price) FROM goods2;
SELECT ROUND(AVG(price),2) FROM goods2;
SELECT category FROM goods2 GROUP BY category;
SELECT category,COUNT(*) FROM goods2 GROUP BY category
SELECT category,COUNT(*) FROM goods2 WHERE sales_volume >100 GROUP BY category;
SELECT category,COUNT(*) FROM goods2 WHERE sales_volume >100 GROUP BY category HAVING COUNT(*) >2;
SELECT * FROM goods2 LIMIT 2,3;
CREATE DATABASE db1;
CREATE DATABASE IF NOT EXISTS db2;
SHOW DATABASES;
DROP DATABASE db2;
USE db1;
CREATE TABLE student(id INT,
NAME VARCHAR(10),
birthday DATE
);
SHOW TABLES;
DROP TABLE student;
DROP TABLE IF EXISTS student;
CREATE TABLE student(id INT,
NAME VARCHAR(10),
birthday DATE
);
ALTER TABLE student ADD remark VARCHAR(20);
ALTER TABLE student MODIFY remark VARCHAR(100);
ALTER TABLE student CHANGE remark intro VARCHAR(30);
ALTER TABLE student DROP intro;
ALTER TABLE student RENAME TO student2;
DROP TABLE student;
CREATE TABLE student(id INT,
NAME VARCHAR(10),
birthday DATE,
sex CHAR(1),
address VARCHAR(25));
INSERT INTO student(id,NAME,birthday,sex,address) VALUES(1,'小明','2020-02-02','男','北京');
INSERT INTO student VALUES (2,'小天','2021-02-02','男','广东');
INSERT INTO student(id,NAME,sex) VALUES(3,'小王','女');
UPDATE student SET sex = '女';
UPDATE student SET sex = '男' WHERE id = 1;
UPDATE student SET birthday = '1988-08-08',address = '北京' WHERE id =3;
DELETE FROM student WHERE id = 3;
DELETE FROM student;
DROP TABLE IF EXISTS student;
CREATE TABLE student (
id INT,
NAME VARCHAR(20),
age INT,
sex VARCHAR(5),
address VARCHAR(100),
math INT,
english INT
);
INSERT INTO student(id,NAME,age,sex,address,math,english) VALUES
(1,'马云',55,'男','杭州',66,78),
(2,'马化腾',45,'女','深圳',98,87),
(3,'马景涛',55,'男','香港',56,77),
(4,'柳岩',20,'女','湖南',76,65),
(5,'柳青',20,'男','湖南',86,NULL),
(6,'刘德华',57,'男','香港',99,99),
(7,'马德',22,'女','香港',99,99),
(8,'德玛西亚',18,'男','南京',56,65);
INSERT INTO student(id,NAME,age,sex,address,math,english) VALUES
(9,'唐僧',25,'男','长安',87,78),
(10,'孙悟空',18,'男','花果山',100,66),
(11,'猪八戒',22,'男','高老庄',58,78),
(12,'沙僧',50,'男','流沙河',77,88),
(13,'白骨精',22,'女','白虎岭',66,66),
(14,'蜘蛛精',23,'女','盘丝洞',88,88);
SELECT id,NAME,age,sex,address,math,english FROM student;
SELECT * FROM student;
SELECT NAME,sex FROM student;
SELECT NAME AS 姓名,sex AS 性别 FROM student;
SELECT NAME 姓名,sex 性别 FROM student;
SELECT DISTINCT address FROM student;
SELECT id,NAME,age,sex,address,math,english FROM student WHERE math >80;
SELECT id,NAME,age,sex,address,math,english FROM student WHERE english <= 90;
SELECT id,NAME,age,sex,address,math,english FROM student WHERE age != 20;
SELECT id,NAME,age,sex,address,math,english FROM student WHERE english IS NOT NULL;
SELECT id,NAME,age,sex,address,math,english FROM student WHERE age > 35 AND sex = '男';
SELECT id,NAME,age,sex,address,math,english FROM student WHERE age > 35 OR sex = '女';
SELECT id,NAME,age,sex,address,math,english FROM student WHERE id =1 OR id = 3 OR id=5';
-- in: 在...里面,只要是满足()里面的数据都可以
-- 查询id是1或3或5的学生
SELECT id,NAME,age,sex,address,math,english FROM student WHERE id in(1,3,5);
-- 查询id不是1或3或5的学生
SELECT id,NAME,age,sex,address,math,english FROM student WHERE id not in(1,3,5);
-- 范围: BETWEEN 值1 AND 值2 -- 表示从值1到值2范围,包头又包尾
-- 查询english成绩大于等于75,且小于等于90的学生
SELECT id,NAME,age,sex,address,math,english FROM student WHERE english between 75 and 90;
-- 注意: between 值1 and 值2, 小的写前面大的写后面
-- 模糊查询like
-- 查询姓马的学生: 第一个是马,后面无所谓
SELECT id,NAME,age,sex,address,math,english FROM student WHERE name like'马%';
-- 查询姓名中包含'德'字的学生
SELECT id,NAME,age,sex,address,math,english FROM student WHERE name like '%德%';
-- 查询姓马,且姓名有三个字的学生
SELECT id,NAME,age,sex,address,math,english FROM student WHERE name like'马__';
SELECT id,NAME,age,sex,address,math,english FROM student order by age asc;
SELECT id,NAME,age,sex,address,math,english FROM student order by age desc;
SELECT id,NAME,age,sex,address,math,english FROM student order by age desc,math desc;
select count(*) from student;
select count(*) from student where age > 40;
select sum(math) from student;
select min(math) from student;
select avg(math) from student;
select round(avg(math)) from student;
select sum(english) from student;
select max(english) from student;
select avg(english) from student;
select sex from student group by sex
select sex,count(*) from student group by sex;
select sex,count(*)from student where age >25 group by sex;
select sex,count(*)from student where age >25 group by sex having count(*) >2;
select sum(math),sex from student group by sex;
select avg(math),sex from student group by sex;
select max(math),sex from student group by sex;
select min(math),sex from student group by sex;
select max(math),max(english),sex from student group by sex;
select * from student limit2,6;
select * from student limit 0,5;
select * from student limit 5;
select * from student limit 5,5;
select * from student limit 10,5;