前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mysql 基本操作

Mysql 基本操作

作者头像
嘉美伯爵
发布2021-01-18 10:55:54
4440
发布2021-01-18 10:55:54
举报

开始之前

  • 查看数据库: show databases
  • 查看当前数据库:select database()
  • 查看数据表:show tables
  • 查看表结构:desc tablename;
  • 建库utf8:CREATE DATABASE blog DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
  • 建库utf8mb4:CREATE DATABASE blog DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  • 建表:create table students id int not null auto_increment primary key,name varchar(30));
  • 优先级:小括号,not,比较运算符,逻辑运算符
  • 优先级:and比or先运算,如果同时出现并希望先算or,需要结合()使用

条件查询

比较运算符

  • 运算符:> < >= <= != =
  1. 查寻pid<3得数据项 select * from product where pid < 3;
  2. 查询pid<3且只查看pname字段 select pname from product where pid < 3;

逻辑运算符

  • 运算符:or and not
  1. 查询pid<3且is_hot=1的数据项 select * from product where pid<3 and is_hot=1;

模糊查询

  • 运算符:like % _
  1. 查询pname开头为小的数据项 select * from product where pname like "小%";
  2. 查询pname包含兴的数据项 select * from product where pname like "%兴%";
  3. 查询姓黄并且名字是一个字的学生

select * from product where pname like "小_";

范围查询

  • 运算符:in between...and
  1. 查看market_price是649或1399的数据项 select * from product where market_price in (649, 1399)
  2. 查看market_price在1000到2000的数据项 select * from product where market_price between 1000 and 2000;

空判断

  • 注意:null != ""
  • 运算符:is null is not null
  1. 查看punit为空的数据项 select * from product where punit is null;

聚合查询

  • count (返回数据项数目)

select count(*) from product;

  • max/min (返回字段的最大/小值)

select max(market_price) from product;

  • sum (返回该字段的总和)

select sum(market_price) from product;

  • avg (返回该字段的平均值)

select avg(market_price) from product;

  • date(日期查询,查询当天的数据)

select * from wyt2 where date(t1) = '2019-10-18';

分组查询

where/having区别

  • where是对from后面指定的表进行数据筛选,属于对原始数据的筛选
  • having是对group by的结果进行筛选
  • 查询不同性别有多少人数
代码语言:javascript
复制
mysql> select sex as 性别, count(*) from user group by sex;
+--------+----------+
| 性别   | count(*) |
+--------+----------+
| NULL   |        6 |
| 男     |        5 |
+--------+----------+
  • 查询男性有多少人
代码语言:javascript
复制
select sex as 性别, count(*) from user group by sex having sex="男";
+--------+----------+
| 性别   | count(*) |
+--------+----------+
| 男     |        5 |
+--------+----------+
代码语言:javascript
复制
mysql> select sex as 性别,count(*) from user where sex =  "男";
+--------+----------+
| 性别   | count(*) |
+--------+----------+
| 男     |        5 |
+--------+----------+

排序

  • 默认升序
  • asc从小到大排列,即升序
  • desc从大到小排序,即降序
  1. 按market_price升序查询is_hot=1的数据项

select * from product where is_hot=1 order by market_price ;

分页

  • 每页显示m条数据,当前显示第n页
代码语言:javascript
复制
select * from students
where isdelete=0
limit (n-1)*m,m

数据操作(insert、update、delete)

插入数据

代码语言:javascript
复制
insert into students (sname) values ("Gage");

修改数据

代码语言:javascript
复制
update students set sname="Fovegage" where id = 1;

删除数据

代码语言:javascript
复制
delete from students where id =1;

字段操作(add、change、drop)

修改字段的长度

代码语言:javascript
复制
ALTER TABLE attence MODIFY COLUMN id INT(20)

新增字段

代码语言:javascript
复制
ALTER TABLE attence ADD COLUMN age VARCHAR(20) NOT NULL;

修改字段

代码语言:javascript
复制
ALTER TABLE attence CHANGE attence_name NAME  VARCHAR(20)

删除字段

代码语言:javascript
复制
ALTER TABLE attence DROP COLUMN age;

删除操作

  • 删除表:DROP table tablename;
  • 清空表:delete from tablename; # 会在二进制中记录
  • 清空表:truncate table tablename; # 直接删除,不会在二进制中记录
  • 删库:drop database databasename;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-03-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开始之前
  • 条件查询
    • 比较运算符
      • 逻辑运算符
        • 模糊查询
          • 范围查询
            • 空判断
            • 聚合查询
            • 分组查询
              • where/having区别
              • 排序
              • 分页
              • 数据操作(insert、update、delete)
                • 插入数据
                  • 修改数据
                    • 删除数据
                    • 字段操作(add、change、drop)
                      • 修改字段的长度
                        • 新增字段
                          • 修改字段
                            • 删除字段
                            • 删除操作
                              相关产品与服务
                              数据库
                              云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
                              领券
                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档