目录
一、介绍
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 是最流行的关系型数据库管理系统之一。
二、SQL分类
SQL语句的五种分类分别是DDL、DML、DDL、DQL、DCL。
- 数据定义语言(DDL) 用来创建数据库中的各种对象,创建、删除、修改表的结构。关键字:create, drop,alter 等
- 数据操作语言(DML) 用户通过它可以实现对数据库的基本操作,简称DML。关键字:insert, delete, update 等
- 数据查询语言(DQL) 用于数据库中表的查询操作。关键字:select, where 等
- 数据控制语言(DCL) 用来操作数据的访问权限,安全级别,创建用户等。关键字:GRANT, REVOKE 等
三、基本操作
创建
创建数据库:
// 创建数据库db1 CREATE DATABASE db1; // 增加判断条件,创建数据库,判断、如果不存在则创建 // 创建数据库db2(判断,如果不存在则创建) CREATE DATABASE IF NOT EXISTS db2;
创建数据库、并指定字符集:
//创建数据库db3、并指定字符集utf8 CREATE DATABASE db3 CHARACTER SET utf8; // 查看db3数据库的字符集 SHOW CREATE DATABASE db3;
创建数据表:
// 创建一个product商品表(商品编号、商品名称、商品价格、商品库存、上架时间) CREATE TABLE product( id INT, NAME VARCHAR(20), price DOUBLE, stock INT, insert_time DATE );
给表添加列:
标准语法: ALTER TABLE 表名 ADD 列名 数据类型; // 给product表添加一列color ALTER TABLE product ADD color VARCHAR(10);
给指定列添加数据:
// 标准语法: INSERT INTO 表名(列名1,列名2,...) VALUES (值1,值2,...); // 向product表添加一条数据 INSERT INTO product (id, NAME, price,stock,insert_time) VALUE (1,'手机',1999.99,25,'2022-07-26');
查询
查询所有数据库:
SHOW DATABASES;
查询mysql数据库的创建语句:
SHOW CREATE DATABASE mysql;
-查询当前使用的数据库
SELECT DATABASE();
查询所有数据表:
SHOW TABLES;
查询表结构:
// 标准语法:DESC 表名; // 查询product表结构 DESC product;
查询数据表的字符集:
// 查看mysql数据库中user表字符集 SHOW TABLE STATUS FROM mysql LIKE 'user';
修改
修改数据库的字符集:
ALTER DATABASE db4 CHARACTER SET utf8;
修改表名:
// 标准语法:ALTER TABLE 旧表名 RENAME TO 新表名; // 将product表修改为product2 ALTER TABLE product RENAME TO product2;
修改表的字符集:
// 标准语法: ALTER TABLE 表名 CHARACTER SET 字符集名称; // 先查看product2数据表的字符集 SHOW TABLE STATUS FROM db1 LIKE 'product2'; // 修改product2数据表的字符集为utf8 ALTER TABLE product2 CHARACTER SET utf8;
修改表中列的数据类型:
// 标准语法: ALTER TABLE 表名 MODIFY 列名 数据类型; // 修改product表的数据类型color为int ALTER TABLE product MODIFY color INT;
修改表中列的名称和数据类型:
// 标准语法: ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型; // 将color修改为address ALTER TABLE product CHANGE color address VARCHAR(200);
删除
删除数据库:
// 删除db1数据库 DROP DATABASE db4; // 删除数据库,判断、如果存在则删除 // 删除数据库db2,如果存在 DROP DATABASE IF EXISTS db4;
删除表:
// 标准语法: DROP TABLE 表名; // 删除product数据表 DROP TABLE product; // 删除表,判断、如果存在则删除 // 标准语法: DROP TABLE IF EXISTS 表名; // 判断product表是否存在,存在则删除 DROP TABLE IF EXISTS product;
删除表中的列:
// 标准语法: ALTER TABLE 表名 DROP 列名; // 删除address列 ALTER TABLE product DROP address;
使用数据库
使用db3数据库 USE db3;