SQL:结构化查询语言
SQL 4大种类
DDL: 数据库定义语言,drop , create alter,rename
DML: 数据库表的操纵语言,update ,insert ,delete
DQL: 数据库表的查询语言,select
DCL: 数据库的控制语言 ,grant
会使SQL建库建表
1. insert语句
2.update语句
3.delete 语句
4.select 语句
数据库管理系统,数据库软件,数据仓库, 表的关系
注释
-- 单行注释
/**/ 多行注释
# 单行注释。是Mysql 特有的,不推荐使用,Oracle 不支持
/!**/ 非注释
数据库操作
/*
查询所有的数据库
*/
SHOW DATABASES;
-- 选择数据库
USE day13;
-- 查看你现在是选中那个库
SELECT DATABASE();
-- 创建数据库
CREATE DATABASE IF NOT EXISTS day04
CHARACTER SET utf8;
-- 删除数据库
DROP DATABASE IF EXISTS day04;
表操作
/*
创建表
标准语法:
create table 表名(
列名 数据类型 约束,
列名 数据类型 约束,
列名 数据类型 约束
)
*/
CREATE TABLE product(
id INT,
NAME VARCHAR(20),
price DOUBLE,
stock INT,
insert_time DATE
);
-- 查看表结构
DESC product;
-- 查看建表语句
SHOW CREATE TABLE product;
-- 表改名
RENAME TABLE product TO product_1;
ALTER TABLE product_1 RENAME TO product;
-- 添加一列
ALTER TABLE product ADD color VARCHAR(10);
DESC product;
-- 删除列
ALTER TABLE product DROP color;
-- 表删除
DROP TABLE IF EXISTS product;
新增数据
-- 新增数据
INSERT INTO
product(id,NAME,price,stock,insert_time)
VALUES(1,'手机',1999.99,30,NOW());
-- 不指定列名
INSERT INTO
product
VALUES(1,'洗衣机',2999.99,30,NOW());
-- 一次性插入多条数据
INSERT INTO product VALUES
(3,'洗碗机',3999.99,30,NOW()),
(4,'电视机',11999.99,30,NOW()),
(5,'空调',5999.99,30,NOW());
-- 备份表数据
CREATE TABLE product_copy
SELECT * FROM product
修改、删除表数据
-- 修改数据
# 标准语法:
/*
update 表名 set 列名1= 值1 ,列名2=值2 [where 条件]
*/
UPDATE product SET price=3500
WHERE NAME ='手机';
UPDATE product SET price=3500,stock=1000
WHERE NAME ='手机';
-- 删除清空所有,不带条件
DELETE FROM product;
-- 带条件删除
DELETE FROM product WHERE NAME = '空调';
-- 清空所有表数据 和delete有区别
-- 会清空表空间,会把表结构都会删除,重新创建
-- 一张相同结构的空表。
TRUNCATE product_copy;