image.png
sql语句分类:
image.png
sql语句:
##对数据库的操作
#查询所有数据库
SHOW DATABASES;
#选择XXX数据库
USE XXX;
#SELECT DATABASE();
查看正在使用的数据库
#(严谨地)创建数据库ZZZ
CREATE DATABASE IF NOT EXISTS ZZZ
#(严谨地)删除数据库ZZZ
DROP DATABASE IF EXISTS ZZZ
##对数据表的操作
#查看所有表
SHOW TABLES;
#新建表
CREATE TABLE IF NOT EXISTS `students` (
`name` VARCHAR(10),
`age` int,
`score` int
);
#删除表
DROP TABLE IF EXISTS `students`
#查看表结构
DESC students;
#查看创建表的SQL语句
SHOW CREATE TABLE `students`;
#完整的创建表的语法
CREATE TABLE IF NOT EXISTS `users` (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
age INT DEFAULT 0,
phoneNum VARCHAR(20) UNIQUE DEFAULT '',
createTime TIMESTAMP
);
#修改表
#修改表的名字
ALTER TABLE `users` RENAME TO `user`
#新增列
ALTER TABLE `user` ADD `updateTime` TIMESTAMP;
#修改字段名
ALTER TABLE `user` CHANGE `phoneNum` `telephone` VARCHAR(20);
#修改字段类型
ALTER TABLE `user` MODIFY `name` VACHAR(30);
#删除某一个字段
ALTER TABLE `user` DROP `age`;
#根据一个表结构去创建另外一张表
CREATE TABLE `user1` LIKE `user`;
#根据另外一个表中的所有内容,创建一个新的表
CREATE TABLE `user2` (SELECT * FROM `user`);
数据操作 DML
#插入数据
INSERT INTO `user` VALUES (110,hhh','121-3123','2021-11-12','2021-12-12');
INSERT INTO `user` (name, telphone, createTime, updateTime)
VALUES ('koe', '22-223', '2021-12-12', '2021-12-12'`);
#需求: createTime和updateTime 可以自动设置值
ALTER TABLE `user` MODIFY `createTime` TIMESTAMP DEFAULT CURRENT_TIMESTEM;
ALTER TABLE `user` MODIFY `updateTime` TIMESTAMP DEFAULT CURRENT_TIMESTEM ON UPDATE CURRENT_TIMESTEM;
INSERT INTO `user` (name, telphone)
VALUES ('koe', '22-223'`);
#删除数据
DELETE FROM `user`;
#删除符合条件的数据
DELETE FROM `user` WHERE id = 110;
#更新数据
UPDATE `user` SET name = 'lily', telphone = '121-15156'
#更新符合条件的数据
UPDATE `user` SET name = 'lily', telphone = '121-15156' WHERE id = 122;
数据查询 DQL
#1,基本查询
#查询表中所有的字段以及所有的数据
SELECT * FROM `products`;
#查询指定的字段
SELECT `title`,`price` FROM `products`;
#对一个字段起别名
SELECT title as phoneTitle, price as currentPrice FROM `products`;
image.png
逻辑查询:
image.png
#修改语句
#将某些值设置为NULL
UPDATE `products` SET url = NULL WHERE id >= 85 and id <= 88;
#查询某一个值为NULL
SELECT * FROM `products` WHERE url = NULL;
//SELECT * FROM `products` WHERE url IS NOT NULL;
#模糊查询
//使用LIKE关键字加2个特殊符号: %任意个任意字符 _1个任意字符
SELECT * FROM `products` WHERE `title` LIKE `%M%`;
SELECT * FROM `products` WHERE `title` LIKE `__M%`; (查询M必须是第三个字符的title )
# IN 取多个值中的其中一个即可
SELECT * FROM `products` WHERE brand = ‘华为’ || brand = ‘小米’ || brand = ‘苹果’ ;
SELECT * FROM `products` WHERE `brand` IN ('华为,'小米','苹果')
ORDER BY price ASC, score DESC;'
#分页查询
// LIMIT limit OFFSET offset;
// LIMIT offset,limit ;
SELECT * FROM `PRODUCTS` LIMIT 20 OFFSET 0;
SELECT * FROM `PRODUCTS` LIMIT 20 OFFSET 20;
SELECT * FROM `PRODUCTS` LIMIT 0,20;