MySql新手入门的基本操作汇总
库操作
查询
1.SHOW DATABASE; ----查询所有数据库
2.SHOW CREATE DATABASE 数据库名称; ----查询某个数据库的创建模式
3.SHOW CREATE DATABASE xxx; ----查询xxx数据库的创建模式
创建
1.CREATE DATABASE 数据库名称; ----创建数据库
注:不可以创建一个已经存在的数据库
2.CREATE DATABASE IS NOT EXISTS 数据库名称; ----判断数据库是否存在,不存在就创建
3.CREATE DATABASE 数据库名称 CHARACTER SET 字符集名称; ----创建数据库并指定字符集,一般使用utf-8
修改
ALTER DATABASE 数据库名称 CHARACTER SET 字符集名称; ----修改数据库的字符集
删除
1.DROP DATABASE 数据库名称; ----删除数据库
2.DROP DATABASE IS EXISTS 数据库名称; ----先判断是否存在再删除
使用
SELETE DATABASE (); ----查询当前正在使用的数据库
USE 数据库名称; ----使用指定数据库
表结构
表的查询
1.SHOW TABLES; ----查询数据库中所有的表
2.DESC 表名; ----查看指定表的结构
3.SHOW TABLE STATUS FROM 库名 LIKE ‘表名'; ----查询表字符集(like没有特别情况下和"="号是等价的)
创建表
CREATE TABLE 表名(
列名1 数据类型1 约束,
列名2 数据类型2 约束,
…
列名n 数据类型n约束
);
int:整数类型
- age int
double:小数类型
- score double(5,2)
- price double
date:日期,只包含年月日 yyyy-MM-dd
datetime:日期,包含年月日时分秒 yyyy-MM-dd HH:mm:ss
timestamp:时间戳类型 包含年月日时分秒 yyyy-MM-dd HH:mm:ss
- 如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值
varchar:字符串
- name varchar(20):姓名最大20个字符
- zhangsan 8个字符 张三 2个字符
CREATE TABLE 要创建的表名 LIKE 被复制的表名; ----复制表
修改表
1.ALTER TABLE 表名 RENAME TO 新的表名; ----修改表名
2.ALTER TABLE 表名 CHARACTER SET 字符集名称; ----修改表的字符集
**3.**ALTER TABLE 表名 ADD 列名 数据类型; ----添加新的一列
4.ALTER TABLE 表名 MODIFY 列名 新列名 新数据类型; ----修改新列名和数据类型
表中删除操作
1.DROP TABLE 表名; ----删除表
2.ALTER TABLE 表名 DROP 列名; ----删除列
表中添加数据-INSERT语句
1.INSERT INTO 表名(列名1,列名2,…) VALUES (值1,值2,…); ----向表中添
加数据
2.SELECT * FROM product; ----查看表中所有数据
3.INSERT INTO 表名 VALUES (值1,值2,值3,…); ----默认给全部列添加数据
4.INSERT INTO 表名 VALUES (值1,值2,值3,…),(值1,值2,值3,…),(值1,值2,值3,…); ----批量添加数据
注:
- 列名和值的数量以及数据类型要对应
- 除了数字类型,其他数据类型的数据都需要加引号(单引双引都可以,推荐单引)
表中修改数据-updata
UPDATE 表名 SET 列名1 = 值1,列名2 = 值2,… [where 条件];
注:
- 修改语句中必须加上条件,如果不加条件则修改所有数据
表中删除数据-delete
DELETE FROM 表名 [WHERE 条件];
注:
- 和修改数据是一样的
单表查询
查询语法:
select 字段列表 from 表名列表 where 条件列表 group by 分组字段 having 分组之后的条件 order by 排序 limit 分页限定
SELECT 列名1,列名2,… FROM 表名; ----多个字段查询
SELECT DISTINCT 列名1,列名2,… FROM 表名; ----去重查询,但只有所查询列都重复才会去重
SELECT 列名1 运算符(+ - * /) 列名2 FROM 表名; ----四则运算
SELECT 列名1,列名2,… AS 别名 FROM 表名; ----as用来起别名,简单易懂
条件查询
条件分类
聚合函数
函数名称及其功能
聚合函数语法
-- 标准语法 SELECT 函数名(列名) FROM 表名 [WHERE 条件]; -- 计算product表中总记录条数 SELECT COUNT(*) FROM product; -- 获取最高价格 SELECT MAX(price) FROM product; -- 获取最高价格的商品名称 SELECT NAME,price FROM product WHERE price = (SELECT MAX(price) FROM product); -- 获取最低库存 SELECT MIN(stock) FROM product; -- 获取最低库存的商品名称 SELECT NAME,stock FROM product WHERE stock = (SELECT MIN(stock) FROM product); -- 获取总库存数量 SELECT SUM(stock) FROM product; -- 获取品牌为苹果的总库存数量 SELECT SUM(stock) FROM product WHERE brand='苹果'; -- 获取品牌为小米的平均商品价格 SELECT AVG(price) FROM product WHERE brand='小米';
您可能感兴趣的文章
- 05-31MySQL中的 inner join 和 left join的区别解析(小结果集驱动大结果集)
- 05-31MySQL索引失效十种场景与优化方案
- 05-31MYSQL 高级文本查询之regexp_like和REGEXP详解
- 05-31MySQL获取binlog的开始时间和结束时间(最新方法)
- 05-31MySQL索引查询的具体使用
- 05-31基于MySQL和Redis扣减库存的实践
- 05-31关于MySQL的存储过程与存储函数
- 05-31MySQL实战文章(非常全的基础入门类教程)
- 05-31MySQL Flink Watermark实现事件时间处理的关键技术
- 05-31MySQL Flink实时流处理的核心技术之窗口机制
阅读排行
推荐教程
- 05-30Navicat for MySQL 11注册码激活码汇总
- 05-27Mysql误删数据快速恢复
- 05-31VS2022连接数据库MySQL并进行基本的表的操作指南
- 05-30解决seata不能使用mysql8版本的问题方法
- 05-30MYSQL字符集设置的方法详解(终端的字符集)
- 05-30解决MySQL启动报错:ERROR 2003 (HY000): Can't con
- 05-30关于Mysql-connector-java驱动版本问题总结
- 11-22mac下安装mysql忘记密码的修改方法
- 05-30MySQL中的隐藏列的具体查看
- 11-22mysql exists与not exists实例详解