MySQL——union(合并结果集)、limit(获取部分数据)、关于MySQL中常用数据类型

2023年6月25日12:06:25

博客目录

1、union(合并结果集)
2、limit(获取一张表中某部分数据)
3、表——创建表、删除表
4、关于MySQL中的数据类型

一、union(合并结果集)

将两个查询结果合并(可以是不同表)

注意:MySQL要求字段数量相同

mysql> select ename,job from emp where job="clerk"
    -> union
    -> select ename,job from emp where job="manager";
+--------+---------+
| ename  | job     |
+--------+---------+
| SMITH  | CLERK   |
| ADAMS  | CLERK   |
| JAMES  | CLERK   |
| MILLER | CLERK   |
| JONES  | MANAGER |
| BLAKE  | MANAGER |
| CLARK  | MANAGER |
+--------+---------+
7 rows in set (0.08 sec)

二、limit(获取一张表中某部分数据)

1、limit只在MySQL中存在(不通用),MySQL特色

2、例

1、找出员工表中前5条记录

mysql> select * from emp limit 5;
+-------+--------+----------+------+------------+---------+---------+--------+
| EMPNO | ENAME  | JOB      | MGR  | HIREDATE   | SAL     | COMM    | DEPTNO |
+-------+--------+----------+------+------------+---------+---------+--------+
|  7369 | SMITH  | CLERK    | 7902 | 1980-12-17 |  800.00 |    NULL |     20 |
|  7499 | ALLEN  | SALESMAN | 7698 | 1981-02-20 | 1600.00 |  300.00 |     30 |
|  7521 | WARD   | SALESMAN | 7698 | 1981-02-22 | 1250.00 |  500.00 |     30 |
|  7566 | JONES  | MANAGER  | 7839 | 1981-04-02 | 2975.00 |    NULL |     20 |
|  7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1250.00 | 1400.00 |     30 |
+-------+--------+----------+------+------------+---------+---------+--------+
5 rows in set (0.00 sec)

以上limit 5中的5代表从表中记录0开始,取5条记录,等同于下面的SQL语句

mysql> select * from emp limit 0,5;

2、找出公司中工资排名前5名员工(思路:按照工资降序排的前5个)

mysql> select ename,sal from emp order by sal desc limit 0,5;
+-------+---------+
| ename | sal     |
+-------+---------+
| KING  | 5000.00 |
| SCOTT | 3000.00 |
| FORD  | 3000.00 |
| JONES | 2975.00 |
| BLAKE | 2850.00 |
+-------+---------+
5 rows in set (0.00 sec)

3、按照工资排在3-9名的员工

mysql> select ename,sal from emp order by sal desc limit 2,8;
+--------+---------+
| ename  | sal     |
+--------+---------+
| FORD   | 3000.00 |
| JONES  | 2975.00 |
| BLAKE  | 2850.00 |
| CLARK  | 2450.00 |
| ALLEN  | 1600.00 |
| TURNER | 1500.00 |
| MILLER | 1300.00 |
| MARTIN | 1250.00 |
+--------+---------+
8 rows in set (0.00 sec)

3、limit语法格式

limit 起始下标,长度
如果起始下标没有指定,默认从0开始,0代表表中第一条记录

4、limit实际应用————分页

以下是MySQL通用的分页SQL语句

  • 第pageno页

    mysql> select
        -> ename,sal
        -> from
        -> emp
        -> order by
        -> sal desc
        -> limit (pageno-1)*pagesize,pagesize;
    

三、表——创建表、删除表

给字段添加默认值:default

mysql> drop table if exists t_user;#删除表,如果t_user存在,则删除
Query OK, 0 rows affected, 1 warning (0.23 sec)

mysql> create table tableName(#表名
    -> ColumnName(字段名) dataType(length)(数据类型,字段长度)
    -> );

四、关于MySQL数据库中的数据类型

  • varchar:可变长度字符串
  • char:定长字符串
  • int:整数型
  • bigint:长整型
  • float:浮点型(单精度)
  • double:浮点型(双精度)
  • date:日期类型
  • blob:Binary Large Object:二进制大对象
  • clob:Character Large Object:字符大对象

…….

char与varchar对比

  1. 都是字符串
  2. varchar根据字段长度来动态分配给其长度
  3. varchar比较智能,节省空间
  4. varchar在分配的时候要执行相关判断,效率低
  5. char不需要动态分配,效率高,但浪费空间
  6. 如果字段数据不具有伸缩性,采用char。反之采用varchar

常用数据类型解析

  • varchar(3):表示存储的数据不能超过3个字符长度
  • char(3):表示存储的数据不能超过3个字符长度
  • int(3):最大可以存储999
  • bigint:对应java中的long类型
  • double(7,2):7代表7个有效数字,2代表两个小数位
  • date:在实际开发中为了通用,所以日期类型一般不使用,采用字符串代替日期类型
  • blob:专门存储图片、声音、视频等数据。数据库表中存储一个图片很常见,但是一个大的视频是很少的,一般都是提供视频的链接地址
  • clob:可以存储比较大的文本,4G+的字符串可以存储
  • 作者:浅然言而信
  • 原文链接:https://xulinjie.blog.csdn.net/article/details/79645196
    更新时间:2023年6月25日12:06:25 ,共 2568 字。