USE atguigudb;
CREATE TABLE IF NOT EXISTS emp1(
id INT,
`name` VARCHAR(15),
hire_date DATE,
salary DOUBLE(10,2)
);
DESC emp1;
SELECT *
FROM emp1;
INSERT INTO emp1
VALUES (1,'Tom','2000-12-21',3400);
INSERT INTO emp1
VALUES (2,3400,'2000-12-21','Jerry');
INSERT INTO emp1(id,hire_date,salary,`name`)
VALUES(2,'1999-09-09',4000,'Jerry');
INSERT INTO emp1(id,salary,`name`)
VALUES(3,4500,'shk');
INSERT INTO emp1(id,NAME,salary)
VALUES
(4,'Jim',5000),
(5,'张俊杰',5500);
SELECT * FROM emp1;
INSERT INTO emp1(id,NAME,salary,hire_date)
SELECT employee_id,last_name,salary,hire_date
FROM employees
WHERE department_id IN (70,60);
DESC emp1;
DESC employees;
UPDATE emp1
SET hire_date = CURDATE()
WHERE id = 5;
SELECT * FROM emp1;
UPDATE emp1
SET hire_date = CURDATE(),salary = 6000
WHERE id = 4;
UPDATE emp1
SET salary = salary * 1.2
WHERE NAME LIKE '%a%';
UPDATE employees
SET department_id = 10000
WHERE employee_id = 102;
DELETE FROM emp1
WHERE id = 1;
DELETE FROM departments
WHERE department_id = 50;
USE atguigudb;
CREATE TABLE test1(
a INT,
b INT,
c INT GENERATED ALWAYS AS (a + b) VIRTUAL
);
INSERT INTO test1(a,b)
VALUES(10,20);
SELECT * FROM test1;
UPDATE test1
SET a = 100;
CREATE DATABASE IF NOT EXISTS test01_library CHARACTER SET 'utf8';
USE test01_library;
CREATE TABLE IF NOT EXISTS books(
id INT,
`name` VARCHAR(50),
`authors` VARCHAR(100),
price FLOAT,
pubdate YEAR,
note VARCHAR(100),
num INT
);
DESC books;
SELECT * FROM books;
INSERT INTO books
VALUES(1,'Tal of AAA','Dickes',23,'1995','novel',11);
INSERT INTO books(id,NAME,AUTHORS,price,pubdate,note,num)
VALUES(2,'EmmaT','Jane lura',35,'1993','joke',22);
INSERT INTO books(id,NAME,AUTHORS,price,pubdate,note,num)
VALUES
(3,'Story of Jane','Jane Tim',40,2001,'novel',0),
(4,'Lovey Day','George Byron',20,2005,'novel',30),
(5,'Old land','Honore Blade',30,2010,'Law',0),
(6,'The Battle','Upton Sara',30,1999,'medicine',40),
(7,'Rose Hood','Richard haggard',28,2008,'cartoon',28);
UPDATE books
SET price = price + 5
WHERE note = 'novel';
UPDATE books
SET price = 40,note = 'drama'
WHERE NAME = 'EmmaT';
DELETE FROM books
WHERE num = 0;
SELECT NAME
FROM books
WHERE NAME LIKE '%a%';
SELECT COUNT(*),SUM(num)
FROM books
WHERE NAME LIKE '%a%';
SELECT NAME,note,price
FROM books
WHERE note = 'novel'
ORDER BY price DESC;
SELECT *
FROM books
ORDER BY num DESC,note ASC;
SELECT note,COUNT(*)
FROM books
GROUP BY note;
SELECT note,SUM(num)
FROM books
GROUP BY note
HAVING SUM(num) > 30;
SELECT *
FROM books
LIMIT 5,5;
SELECT note,SUM(num) sum_num
FROM books
GROUP BY note
ORDER BY sum_num DESC
LIMIT 0,1;
SELECT CHAR_LENGTH(REPLACE(NAME,' ',''))
FROM books;
SELECT NAME
FROM books
WHERE CHAR_LENGTH(REPLACE(NAME,' ','')) >= 10;
SELECT NAME "书名",note,CASE note WHEN 'novel' THEN '小说'
WHEN 'law' THEN '法律'
WHEN 'medicine' THEN '医药'
WHEN 'cartoon' THEN '卡通'
WHEN 'joke' THEN '笑话'
ELSE '其他'
END "类型"
FROM books;
SELECT NAME AS "书名",num AS "库存", CASE WHEN num > 30 THEN '滞销'
WHEN num > 0 AND num < 10 THEN '畅销'
WHEN num = 0 THEN '无货'
ELSE '正常'
END "显示状态"
FROM books;
SELECT IFNULL(note,'合计库存总量') AS note,SUM(num)
FROM books
GROUP BY note WITH ROLLUP;
SELECT IFNULL(note,'合计总量') AS note,COUNT(*)
FROM books
GROUP BY note WITH ROLLUP;
SELECT *
FROM books
ORDER BY num DESC
LIMIT 0,3;
SELECT *
FROM books
ORDER BY pubdate ASC
LIMIT 0,1;
SELECT *
FROM books
WHERE note = 'novel'
ORDER BY price DESC
LIMIT 0,1;
SELECT *
FROM books
ORDER BY CHAR_LENGTH(REPLACE(NAME,' ','')) DESC
LIMIT 0,1;
CREATE DATABASE IF NOT EXISTS dbtest11 CHARACTER SET 'utf8';
USE dbtest11;
CREATE TABLE my_employees(
id INT(10),
first_name VARCHAR(10),
last_name VARCHAR(10),
userid VARCHAR(10),
salary DOUBLE(10,2)
);
CREATE TABLE users(
id INT,
userid VARCHAR(10),
department_id INT
);
DESC my_employees;
DESC users;
ID FIRST_NAME LAST_NAME USERID SALARY
1 patel Ralph Rpatel 895
2 Dancs Betty Bdancs 860
3 Biri Ben Bbiri 1100
4 Newman Chad Cnewman 750
5 Ropeburn Audrey Aropebur 1550
INSERT INTO my_employees
VALUES(1,'patel','Ralph','Rpatel',895);
INSERT INTO my_employees VALUES
(2,'Dancs','Betty','Bdancs',860),
(3,'Biri','Ben','Bbiri',1100),
(4,'Newman','Chad','Cnewman',750),
(5,'Ropeburn','Audrey','Aropebur',1550);
SELECT * FROM my_employees;
DELETE FROM my_employees;
INSERT INTO my_employees
SELECT 1,'patel','Ralph','Rpatel',895 UNION ALL
SELECT 2,'Dancs','Betty','Bdancs',860 UNION ALL
SELECT 3,'Biri','Ben','Bbiri',1100 UNION ALL
SELECT 4,'Newman','Chad','Cnewman',750 UNION ALL
SELECT 5,'Ropeburn','Audrey','Aropebur',1550;
1 Rpatel 10
2 Bdancs 10
3 Bbiri 20
4 Cnewman 30
5 Aropebur 40
INSERT INTO users VALUES
(1,'Rpatel',10),
(2,'Bdancs',10),
(3,'Bbiri',20),
(4,'Cnewman',30),
(5,'Aropebur',40)
SELECT * FROM users;
UPDATE my_employees
SET last_name = 'drelxer'
WHERE id = 3;
UPDATE my_employees
SET salary = 1000
WHERE salary < 900;
DELETE FROM my_employees
WHERE userid = 'Bbiri';
DELETE FROM users
WHERE userid = 'Bbiri';
DELETE m,u
FROM my_employees m
JOIN users u
ON m.userid = u.userid
WHERE m.userid = 'Bbiri';
SELECT * FROM my_employees;
SELECT * FROM users;
DELETE FROM my_employees;
DELETE FROM users;
SELECT * FROM my_employees;
SELECT * FROM users;
TRUNCATE TABLE my_employees;
USE dbtest11;
CREATE TABLE pet(
NAME VARCHAR(20),
OWNER VARCHAR(20),
species VARCHAR(20),
sex CHAR(1),
birth YEAR,
death YEAR
);
DESC pet;
INSERT INTO pet VALUES
('Fluffy','harold','Cat','f','2003','2010'),
('Claws','gwen','Cat','m','2004',NULL),
('Buffy',NULL,'Dog','f','2009',NULL),
('Fang','benny','Dog','m','2000',NULL),
('bowser','diane','Dog','m','2003','2009'),
('Chirpy',NULL,'Bird','f','2008',NULL);
SELECT *
FROM pet;
ALTER TABLE pet
ADD owner_birth DATE;
UPDATE pet
SET OWNER = 'kevin'
WHERE NAME = 'Claws' AND species = 'Cat';
UPDATE pet
SET OWNER = 'duck'
WHERE death IS NULL AND species = 'Dog';
SELECT NAME
FROM pet
WHERE OWNER IS NULL;
SELECT NAME,OWNER,death
FROM pet
WHERE death IS NOT NULL;
DELETE FROM pet
WHERE death IS NOT NULL
AND species = 'Dog';
SELECT *
FROM pet;
USE dbtest11;
CREATE TABLE employee(
id INT,
NAME VARCHAR(15),
sex CHAR(1),
tel VARCHAR(25),
addr VARCHAR(35),
salary DOUBLE(10,2)
);
INSERT INTO employee VALUES
(10001,'张一一','男','13456789000','山东青岛',1001.58),
(10002,'刘小红','女','13454319000','河北保定',1201.21),
(10003,'李四','男','0751-1234567','广东佛山',1004.11),
(10004,'刘小强','男','0755-5555555','广东深圳',1501.23),
(10005,'王艳','男','020-1232133','广东广州',1405.16);
SELECT * FROM employee;
SELECT *
FROM employee
WHERE salary BETWEEN 1200 AND 1300;
SELECT id,NAME,addr
FROM employee
WHERE NAME LIKE '刘%';
UPDATE employee
SET addr = '广东韶关'
WHERE NAME = '李四';
SELECT *
FROM employee
WHERE NAME LIKE '%小%';