MySQL简介

  1、什么是数据库 ?

  数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

  主流的数据库有:sqlserver,mysql,Oracle、SQLite、Access、MS SQL Server等,本文主要讲述的是mysql

  2、数据库管理是干什么用的?

  • a. 将数据保存到文件或内存
  • b. 接收特定的命令,然后对文件进行相应的操作

  PS:如果有了以上管理系统,无须自己再去创建文件和文件夹,而是直接传递 命令 给上述软件,让其来进行文件操作,他们统称为数据库管理系统(DBMS,Database Management System)

  连接数据库:mysql -u root -p

  数据库、表、用户、权限等信息被存储在数据库和表中。可以用MySQL的Show命令来显示这些信息。

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mmall |
| mydatabase |
| mysql |
| performance_schema |
| sys |
+--------------------+
SHOW DATABASES;返回可用数据库的一个列表。包含在这个列表中可能是MySQL内部使用的数据库。 我们可以先进入一个数据库:
mysql> use mydatabase;
Database changed 为了获得一个数据库内的表的列表,使用show tables;
mysql> show tables;
+----------------------+
| Tables_in_mydatabase |
+----------------------+
| mmall_cart |
| mmall_category |
| mmall_order |
| mmall_order_item |
| mmall_pay_info |
| mmall_product |
| mmall_shipping |
| mmall_user |
+----------------------+ show也可以用来显示表列:
mysql> show columns from mmall_cart;
+-------------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+----------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| user_id | int(11) | NO | MUL | NULL | |
| product_id | int(11) | YES | | NULL | |
| quantity | int(11) | YES | | NULL | |
| checked | int(11) | YES | | NULL | |
| create_time | datetime | YES | | NULL | |
| update_time | datetime | YES | | NULL | |
+-------------+----------+------+-----+---------+----------------+

  检索数据

  Select语句

  

我们可以利用Select语句从cart表中检索出一个名为id的列,所需的列名在Select关键字之后给出,from关键字支出从其中检索数据的表名,输入和输出实例如下:
mysql> select id from mmall_cart;
+-----+
| id |
+-----+
| 126 |
+-----+ 我们也可以利用Select语句来检索多个列
mysql> select id ,user_id ,product_id from mmall_cart;
+-----+---------+------------+
| id | user_id | product_id |
+-----+---------+------------+
| 126 | 21 | 26 |
+-----+---------+------------+ 也可以检索所有行
mysql> select * from mmall_cart;
+-----+---------+------------+----------+---------+---------------------+---------------------+
| id | user_id | product_id | quantity | checked | create_time | update_time |
+-----+---------+------------+----------+---------+---------------------+---------------------+
| 126 | 21 | 26 | 1 | 1 | 2017-04-13 21:27:06 | 2017-04-13 21:27:06 |
+-----+---------+------------+----------+---------+---------------------+---------------------+ 我们也可以用关键词 distinct 和limit 来限制检索的内容
mysql> select distinct id from mmall_cart;
mysql> select id from mmall_cart limit 起始位置,查询行数;
起始位置为空默认从第一行检索。

  排序检索

  

下面的SQL语句返回某个数据库表的单个列,但是并没有顺序
mysql> select id from mmall_order;
+-----+
| id |
+-----+
| 103 |
| 104 |
| 105 |
| 106 |
| 107 |
| 108 |
| 109 |
| 110 |
| 111 |
| 112 |
| 113 |
| 114 |
| 115 |
| 116 |
| 117 |
+-----+
检索出的数据并不是以纯粹的随机顺序显示的。如果不排序,数据一般将以它在底层表中出现的顺序显示。这是数据最初添加到表中的顺序。但是如果数据后来进行过更新和删除,那么这个顺序将会受到MySQL重用回收存储空间的影响。
为了明确地排序用Select语句检索出的数据,我们可以用Order By子句。
mysql> select id from mmall_order order by payment_time;
+-----+
| id |
+-----+
| 103 |
| 104 |
| 105 |
| 108 |
| 109 |
| 110 |
| 111 |
| 112 |
| 113 |
| 114 |
| 115 |
| 106 |
| 107 |
| 117 |
| 116 |
+-----+
我们也可以通过多个列进行排序
mysql> select id, payment_time, end_time from mmall_order order by payment_time, end_time;
+-----+---------------------+----------+
| id | payment_time | end_time |
+-----+---------------------+----------+
| 103 | NULL | NULL |
| 104 | NULL | NULL |
| 105 | NULL | NULL |
| 108 | NULL | NULL |
| 109 | NULL | NULL |
| 110 | NULL | NULL |
| 111 | NULL | NULL |
| 112 | NULL | NULL |
| 113 | NULL | NULL |
| 114 | NULL | NULL |
| 115 | NULL | NULL |
| 106 | 2017-04-13 21:42:40 | NULL |
| 107 | 2017-04-13 21:43:38 | NULL |
| 117 | 2017-04-13 21:46:06 | NULL |
| 116 | 2017-04-13 21:55:16 | NULL |
+-----+---------------------+----------+
我们也可以利用关键字DESC 进行降序排序
mysql> select id from mmall_order order by payment_time desc; +-----+
| id |
+-----+
| 116 |
| 117 |
| 107 |
| 106 |
| 103 |
| 104 |
| 105 |
| 108 |
| 109 |
| 110 |
| 111 |
| 112 |
| 113 |
| 114 |
| 115 |
+-----+

MySQL-数据检索的更多相关文章

  1. MySQL数据检索时,sql查询的结果如何加上序号

    1.sql语法 @i:类型java定义的变量 @i:=0:这里类似给i初始化值为0 @i:=@i+1 :每次从0开始递增+1 SELECT (@i:=@i+1) as id,TDLINE FROM Y ...

  2. MySQL 索引机制

    MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 My ...

  3. MySql必知必会实战练习(二)数据检索

    在上篇博客MySql必知必会实战练习(一)表创建和数据添加中完成了各表的创建和数据添加,下面进行数据检索和过滤操作. 1. Select子句使用顺序 select--->DISTINCT---& ...

  4. MySQL笔记(二)之数据检索常用关键字

    SELECT 用于数据的选择 语法: SELECT 列 FROM 表; #从表中选择某些列,也可以是*,代表全部列 DISTINCT 当某些列包含重复值的时候,DISTINCT用于过滤掉重复值,使重复 ...

  5. MySQL常见面试题

    1. 主键 超键 候选键 外键 主 键: 数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合.一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null). 超 键: 在关系中 ...

  6. 一个高级的J2E工程师需要面对MySQL要有那些基本功夫呢<上>

    1. MySQL的架构介绍1.1 MySQL简介: MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不 ...

  7. MySQL性能优化:索引

    MySQL性能优化:索引 索引提供指向存储在表的指定列中的数据值的指针,然后根据您指定的排序顺序对这些指针排序.数据库使用索引以找到特定值,然后顺指针找到包含该值的行.这样可以使对应于表的SQL语句执 ...

  8. MySQL性能优化总结

    一.MySQL的主要适用场景 1.Web网站系统 2.日志记录系统 3.数据仓库系统 4.嵌入式系统 二.MySQL架构图: 三.MySQL存储引擎概述 1)MyISAM存储引擎 MyISAM存储引擎 ...

  9. mysql-7 数据检索(5)

    联结(join) SQL最强大的功能之一就是能在数据检索查询的执行中联结(join)表.联结就是利用SQL的SELECT能执行的最重要的操作. 例子:此例子包含两个表,一个表是vendors , ve ...

  10. mysql缓存、存储引擎

    一.         mysql查询缓存 查询缓存不是mysql的子系统,却是查询优化和执行子系统不可缺少的组成部分.它不仅可以缓存查询结果,还可以缓存查询结果本身.如果某个查询的结果就在缓存里, 系 ...

随机推荐

  1. java设计模式---合成模式3

    实例 下面以一个逻辑树为例子,以上面的原理图为蓝本,看看如何实现并如何使用这个树,这个结构很简单,但是如何去使用树,遍历树.为我所用还是有一定难度的.   这里主要用到树的递归遍历,如何递归.如何控制 ...

  2. HTML5 window/iframe跨域传递消息 API

    原文地址:HTML5′s window.postMessage API 在线示例:Using HTML5's window.postMessage(请打开控制台看日志) 原文日期: 2010年09月0 ...

  3. Chapter 3 Protecting the Data(2):分配列级权限

    原文出处:http://blog.csdn.net/dba_huangzj/article/details/39577861,专题目录:http://blog.csdn.net/dba_huangzj ...

  4. EXCEPTION与ERROR的区别

    EXCEPTION与ERROR的区别

  5. Jquery之Bind方法参数传递与接收的三种方法

     方法一. function GetCode(event) { alert(event.data.foo); } $(document).ready(function() { $("#s ...

  6. 05_学生管理系统,xml读写,布局的综合应用

     最终要做的项目目标: 2.编写Android清单文件AndroidManifest.xml <?xml version="1.0" encoding="utf ...

  7. IE11开发人员工具 js脚本debugger调试

    微软在浏览器IE11中对F12开发人员工具的UI进行了彻底的换脸,虽然有诸多的不习惯但也是有方便之处的,比如我们用到的最多的断点调试,在F12调试状态下会加载出页面的js脚本文件,而需要对某个文件中的 ...

  8. Leetcode_80_Remove Duplicates from Sorted Array II

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/43835055 Follow up for "Re ...

  9. Leetcode_144_Binary Tree Preorder Traversal

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42876699 Given a binary tree, r ...

  10. Android下Json数据解析

    如从网络获取JSON 则需要创建一个工具类,该类返回一个字符串为JSON文本 package com.example.jsonapp; import java.io.InputStreamReader ...