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. Android 有关于* daemon not running.starting it now on port 5037 *ADB

    adb shell时出现以下信息:  * daemon not running. starting it now on port5037 * ADB server didn't ACK  * fail ...

  2. Tomcat中定制阀门

    我们说管道机制给我们带来了更好的扩展性,Tomcat中在扩展性方面具体如何体现,这便是本节讨论的内容.从上节了解到基础阀门是必须执行的,假如你需要一个额外的逻辑处理阀门,可以添加一个非基础阀门. 我的 ...

  3. Android学习笔记:对Android应用进行单元测试

     第一步:在AndroidManifest.xml中加入如下两段代码: <manifest xmlns:android="http://schemas.android.com/ap ...

  4. Asp.Net中使用JQueryEasyUI--善良公社项目

    jQuery UI 是以 jQuery 为基础的开源 JavaScript 网页用户界面代码库.包含底层用户交互.动画.特效和可更换主题的可视控件.我们可以直接用它来构建具有很好交互性的web应用程序 ...

  5. C++ Primer 有感(函数)

    1.函数应该在头文件中声明,并在源文件中定义.(定义函数的源文件应包含声明该函数的头文件)将提供函数声明的头文件包含在定义该函数的源文件中,可使编译器能检查该函数的定义和声明是否一致. 2.既可以在函 ...

  6. HTML DOCTYPE 的重要性

    定义和用法 <!DOCTYPE> 声明必须是 HTML 文档的第一行,位于 <html> 标签之前. <!DOCTYPE> 声明不是 HTML 标签:它是指示 we ...

  7. 关于JavaScript中的几种匿名行数的写法

     匿名函数没有实际名字,也没有指针,怎么执行滴? 其实大家可以看看小括号的意义就应该可以理解.小括号有返回值,也就是小括号内的函数或者表达式的返回值,所以说小括号内的function返回值等于小括 ...

  8. ARM-linux汇编常用语法

    ARM linux常用汇编语法 ============================= 汇编语言每行的语法: lable: instruction ; comment 段操作: .section ...

  9. linux测试noatime对文件访问时间的影响

    linux测试noatime对文件访问时间的影响 文件(如abc)有3个时间: # stat abc Access: 2015-04-16 19:30:13.665970572 +0800 Modif ...

  10. 《java入门第一季》之面向对象(重头戏继承来了)

    java特性封装.继承.多态.之前对封装做了简单描述(见http://blog.csdn.net/qq_32059827/article/details/51312116),今天分析另一个特性继承性: ...