文章目录

  • 1. 数据类型
    • 1) 数值类型如图:
    • 2) 日期和时间类型
    • 3)字符串类型
    • 4) 整型:
    • 5) 浮点型:
    • 6) 字符型:
  • 2. 常用的SQL命令:
    • 1) select命令
    • 2) 下划线表示通配任意单个字符
    • 3) 有like,就有not like, 意思相反
    • 4) 查看系统运行状态
      • 导入book.sql
    • 5). 算术运算符
    • 6). 排序
    • 7). 范围运算
    • 8). 模糊匹配
    • 9). mysql子查询
    • 10). limit限定显示条目

1. 数据类型

mysql中定义数据字段的类型对数据库的优化是非常重要的,mysql中支持的类型大致分为:数值,日期/时间,字符串(字符)类型

1) 数值类型如图:

2) 日期和时间类型

3)字符串类型

4) 整型:

5) 浮点型:

6) 字符型:

2. 常用的SQL命令:

1) select命令
使用select命令查看mysql数据库系统信息:
-- 打印当前的日期和时间
select now();
-- 打印当前的日期
select curdate();
-- 打印当前的时间
select curtime();-- 打印当前数据库
select database();-- 打印MySQL版本
select version();-- 打印当前用户
select user();--查看系统信息
show variables;     #显示变量
show global variables;  #显示全局变量
show global variables like '%version%';
show variables like '%storage_engine%';       #默认的存储引擎
like和”_”模糊搜索还可用户where字句。
MySQL提供两个通配符,用于与LIKE运算符一起使用,它们分别是:百分比符号 %和下划线 _。
百分比(%)表示通配符允许匹配任何字符串的零个或多个字符。
下划线(_)表示通配符允许匹配任何单个字符。
2) 下划线表示通配任意单个字符
mysql>
mysql> create database zmedu;
Query OK, 1 row affected (0.00 sec)mysql> use zmedu
Database changed
mysql> create table students(id int(11),stname char(20));
Query OK, 0 rows affected (0.01 sec)mysql> insert into students values(1,'liuyong'),(1,'zhangru'),(3,'laowang'),(4,'tongtong');
Query OK, 4 rows affected (0.00 sec)
Records: 4  Duplicates: 0  Warnings: 0mysql> select * from students where stname like '%_';
+------+----------+
| id   | stname   |
+------+----------+
|    1 | liuyong  |
|    1 | zhangru  |
|    3 | laowang  |
|    4 | tongtong |
+------+----------+
4 rows in set (0.00 sec)mysql>
3) 有like,就有not like, 意思相反

not like 实例

mysql> select * from students where stname not like '%g';
+------+---------+
| id   | stname  |
+------+---------+
|    1 | zhangru |
+------+---------+
1 row in set (0.00 sec)
4) 查看系统运行状态
查看系统运行状态信息:
mysql> show status;      #查看运行状态
mysql> show global status like 'Thread%';      #显示全局状态

逻辑运算
and or not
and 且
or 或
not 非

实例:

导入book.sql
mysql> select bName,publishing,price from books where price=30 or price=40 or price=50 or price=60;
+--------------------------------------+--------------------------+-------+
| bName                                | publishing               | price |
+--------------------------------------+--------------------------+-------+
| Illustrator 10完全手册           | 科学出版社          |    50 |
| FreeHand 10基础教程              | 北京希望电子出版 |    50 |
| 网站设计全程教程             | 科学出版社          |    50 |
| ASP数据库系统开发实例导航 | 人民邮电出版社    |    60 |
| Delphi 5程序设计与控件参考  | 电子工业出版社    |    60 |
| ASP数据库系统开发实例导航 | 人民邮电出版社    |    60 |
+--------------------------------------+--------------------------+-------+
6 rows in set (0.00 sec)
5). 算术运算符

= 等于
<> 不等于 !=

大于
< 小于
= 大于等于
<= 小于等于

in 运算符
IN 运算符用于 WHERE 表达式中,以列表项的形式支持多个选择,语法如下:
WHERE column IN (value1,value2,…)
WHERE column NOT IN (value1,value2,…)

not in 与in相反
当 IN 前面加上 NOT 运算符时,表示与 IN 相反的意思,即不在这些列表项内选择

mysql> select bName,price from books where price >60;
mysql> select bName,price from books where price =60;
+--------------------------------------+-------+
| bName                                | price |
+--------------------------------------+-------+
| ASP数据库系统开发实例导航 |    60 |
| Delphi 5程序设计与控件参考  |    60 |
| ASP数据库系统开发实例导航 |    60 |
+--------------------------------------+-------+
3 rows in set (0.00 sec)
mysql> select bName,price from books where price in (50,60,70);
+--------------------------------------+-------+
| bName                                | price |
+--------------------------------------+-------+
| Illustrator 10完全手册           |    50 |
| FreeHand 10基础教程              |    50 |
| 网站设计全程教程             |    50 |
| ASP数据库系统开发实例导航 |    60 |
| Delphi 5程序设计与控件参考  |    60 |
| ASP数据库系统开发实例导航 |    60 |
+--------------------------------------+-------+
6 rows in set (0.00 sec)
6). 排序

升序:order by “排序的字段” asc 默认
降序:oredr by “排序的字段” desc

mysql> select bName,price from books where price in (50,60,70) order by price asc-> ;
+--------------------------------------+-------+
| bName                                | price |
+--------------------------------------+-------+
| Illustrator 10完全手册           |    50 |
| FreeHand 10基础教程              |    50 |
| 网站设计全程教程             |    50 |
| ASP数据库系统开发实例导航 |    60 |
| Delphi 5程序设计与控件参考  |    60 |
| ASP数据库系统开发实例导航 |    60 |
+--------------------------------------+-------+
6 rows in set (0.00 sec)
7). 范围运算

[not]between …and…
Between and 可以使用大于小于的方式来代替,并且使用大于小于意义表述更明确
实例:
查找价格不在30到60之间的书名和价格

mysql> select bName,price from books where price not between 30 and 60 order by price desc;
+---------------------------------------------------------+-------+
| bName                                                   | price |
+---------------------------------------------------------+-------+
| Javascript与Jscript从入门到精通                  |  7500 |
| XML 完全探索                                        |   104 |
| ASP 3初级教程                                       |   104 |
| SQL Server 7.0数据库系统管理与应用开发      |    95 |
| SQL Server 2000 从入门到精通                      |    93 |
| 3D Studio Max 3综合使用                             |    91 |
| lllustrator 9宝典                                     |    83 |
| 3D MAX R3动画制作与培训教程                    |    73 |
| HTML设计实务                                        |    72 |
| Frontpage 2000& ASP 网页设计技巧与网站维护 |    71 |
| Auto CAD R14 中文版实用教程                      |    64 |
| 深入Flash 5教程                                     |    64 |
| 精通Javascript                                        |    63 |
| 3DS MAX 4横空出世                                   |    63 |
| Auto CAD 2002 中文版实用教程                     |    63 |
| 活学活用Delphi5                                     |    62 |
+---------------------------------------------------------+-------+
16 rows in set (0.00 sec)
8). 模糊匹配

字段名 [not]like ‘通配符’ ----》% 任意多个字符

mysql> select bName from books where bName like '%程序%';
+-------------------------------------+
| bName                               |
+-------------------------------------+
| 网络程序与设计-asp         |
| Delphi 5程序设计与控件参考 |
+-------------------------------------+
2 rows in set (0.00 sec)
9). mysql子查询

概念:在select 的where条件中又出现了select,查询中嵌套着查询

mysql> select bName,bTypeId from books where bTypeId=(select bTypeId from category where bTypeName='网络技术');
+----------------------+---------+
| bName                | bTypeId |
+----------------------+---------+
| Internet操作技术 | 7       |
+----------------------+---------+
1 row in set (0.00 sec)
10). limit限定显示条目

SELECT * FROM table LIMIT [offset,] rows
偏移量 行数
  LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1)。

比如select * from table limit m,n语句
表示其中m是指记录开始的index,从0开始,表示第一条记录
n是指从第m+1条开始,取n条。

查出category表中第2条到第6行的记录。
首先2到6行有2,3,4,5,6总共有5个数字,从2开始,偏移量为1

mysql> select * from category limit 1,5;
+---------+--------------+
| bTypeId | bTypeName    |
+---------+--------------+
|       2 | 网站       |
|       3 | 3D动画     |
|       4 | linux学习  |
|       5 | Delphi学习 |
|       6 | 黑客       |
+---------+--------------+
5 rows in set (0.00 sec)

【linux】循序渐进学运维-MySQL-SQL语句进阶相关推荐

  1. [linux]循序渐进学运维-基础命令篇-diff

    写在前面: 博主是一名投身教培事业的标准八零后,叛逆而且追求自由,昵称取自于苏轼的<水调歌头>中的"高处不胜寒",时刻提醒自己要耐得住寂寞,受的了孤独,在技术的道路上, ...

  2. [linux]循序渐进学运维-基础命令篇-文件的归档和压缩

    文章目录 1 . tar: 作用打包压缩文件 1) 把当前的路径下的文件打包,命名为loacl.tar 2) 指定解压位置 -C 3) 不解包查看tar包中的内容 2. tar 归档+压缩 1.创建t ...

  3. [linux] 循序渐进学运维-mv

    文章目录 mv命令介绍 功能: 案例: 1. -b 如果要拷贝过去的文件夹下有目标文件,则加~ 2. -f 强制覆盖 3. -i:默认选项,当目标文件存在时,提示是否覆盖 4. -n 如果文件存在则不 ...

  4. 《循序渐进学运维》第一阶段Linux基础

    前言 循序渐进学运维系列,第一阶段的内容已经全部更新完毕.包含学习方法篇,和基础入门课程. 所有内容均在csdn存档. 想要学习的可以按照这个步骤进行学习,有不完善的地方欢迎在留言区留言,一起交流. ...

  5. 【Linux】循序渐进学运维-day01

    第一天的内容主要包含: 前言,学习方法,系统搭建,实验环境配置 [Linux]循序渐进学运维-前言 [Linux]循序渐进学运维-学习方法篇 [Linux]循序渐进学运维-实验环境搭建 [Linux] ...

  6. 【Linux】循序渐进学运维-服务篇-LNMP环境部署

    文章目录 前言 一. LNMP的介绍 二. 什么是Fast-CGI 三. 部署实战 1. 安装php和mysql 2. nginx和php的结合 a. 编译nginx b. 配置nginx与php的结 ...

  7. 【linux】循序渐进学运维-cp

    文章目录 cp 功能:复制文件(夹)或目录 示例: 1. 复制一个源文件到目标文件夹 2. 同时复制多个文件到目标文件下 3.利用通配符复制多个文件 4. 修改文件名 5. 递归复制 6. 创建文件的 ...

  8. fdisk 分区_【linux】循序渐进学运维-基础篇-分区命令fdisk

    大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-基础篇的第47篇文章. 本文我们来讨论一下fdisk命令的使用,使用fdisk可以做分区管理. 1. 命令概述: fdisk 作用: 磁盘分区 ...

  9. 【linux】循序渐进学运维-基础篇-文件的软硬链接

    文章目录 前言 软硬链接的介绍 1. 硬链接 2. 软连接 案例实战 1) 硬链接原文件删除不会影响链接文件的正常使用 2) 硬链接不能跨分区进行创建 3) 创建软连接,测试删除原文件后,软连接是否还 ...

  10. 【linux】循序渐进学运维-基础篇-linux运维级别

    本文是循序渐进学运维-基础篇系列的第43篇文章 文章目录 Linux的运行级别 运行级别的启动原理 1. 在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service) ...

最新文章

  1. C# Excel 导入
  2. 强化学习—— 经验回放(Experience Replay)
  3. cmake (0)简介
  4. linux内核中的循环缓冲区
  5. 如何用xshell上宝塔
  6. BestCoder Round #86 1002 HDU 5805 ——NanoApe Loves Sequence
  7. SQL取分组中前、后几条数据
  8. Java问题汇集(1)
  9. C++ 二叉树深度优先遍历和广度优先遍历
  10. Win7系统做路由器
  11. 分布式框架的基石之远程通信协议
  12. php清空session值_php注销session变量和销毁session详细分析
  13. Java——正则表达式
  14. 大数据处理框架的类型、比较和选择
  15. 不能忘记陪我们长大的100部电影
  16. MySQL的安装与配置——详细教程 这是原地址https://www.cnblogs.com/winton-nfs/p/11524007.html
  17. 基于PHP的学生宿舍管理系统
  18. 安卓日志:拍照、文件读取的问题
  19. PTA 7-14 电话聊天狂人(25 分)map的应用
  20. 电影《功夫熊猫2》中的管理知识

热门文章

  1. 使用IDEA创建Maven项目一直卡在Generating project in Batch mode
  2. google 网站认证
  3. target is null for setProperty(null, name, [Ljava.lang.String;@ffc6ae)
  4. 华为、中兴、联想、百度们,盯上了路边的灯杆
  5. CSS margin 重叠(margin collapse)
  6. 计算机科学之父----Alan Turing
  7. 深度学习-卷积神经网络(CNN)
  8. SIMCOM 7600、7670的MQTT连接流程(上)--连接、关闭及订阅
  9. 《市场营销》的读后感作文3000字
  10. 如何为公司导入项目管理制度