Tutorial

原创 2015年07月09日 11:19:20

Chapter 3 Tutorial (入门)
Table of Contents [+/-]

3.1 Connecting to and Disconnecting from the Server
3.2 Entering Queries
3.3 Creating and Using a Database [+/-]
3.4 Getting Information About Databases and Tables
3.5 Using mysql in Batch Mode
3.6 Examples of Common Queries [+/-]
3.7 Using MySQL with Apache

这个章节提供了一个入门教程展示了如何使用mysql 客户端来创建 使用一个简单的数据库。

mysql 是一个交互式的程序,让你连接到MySQL server,执行查询,显示结果。

mysql也可以用于batch模式: 你可以预先把查询放到文件里.

查看mysql提供的选项,调用它的–help选项

shell> mysql –help

本章假设MySQL安装在你的机器上,MySQL服务器可用,你可以连接。如果这些没有,联系你的MySQL administrator

本章介绍了建立和使用数据库的整个过程。如果你只对访问某个现有的数据库有兴趣,你可能想跳过描述如何创建数据库和它包含的表的部分。

3.1 Connecting to and Disconnecting from the Server (连接和断开服务器)

连接到 server,你通常会需要提供MySQL 用户密码 ,当你调用mysql和一个密码。如果服务器不同于你登陆的机器上运行,你还需要制定一个主机名。

shell> mysql -h host -u user -p
Enter password: **

host 和user 代表主机名在你的MySQL 服务器上运行,你的username 。为你设置替换合适的值,**代表您的密码,输入时显示输入的密码:

如果成功,你会看到一些入口信息,其次是MySQL >提示:

The mysql> prompts 告诉你mysql是准备让你输入命令了:

如果你登陆机的机器是MySQL运行的机器, 你可以省略主机,并简单地使用以下:

shell> mysql -u user -p

如果,你尝试登陆,你得到一个报错 比如ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2),

它的意思说 MySQL server daemon(Unix) 或者service(Windows) 没有运行

3.2 Entering Queries

确保 你已经连接到 server,如前一节所讨论的, 不选择任何数据库,但这是好的。在这一点上, 更重要的是找出一点关于如何执行查询 相比创建表,

加载数据,并从他们来检查数据。

这里有一个简单的命令 告诉服务器来告诉你 它的版本号和当前日期

mysql> SELECT VERSION(), CURRENT_DATE;
+————+————–+
| VERSION() | CURRENT_DATE |
+————+————–+
| 5.6.22-log | 2015-07-08 |
+————+————–+
1 row in set (0.03 sec)

这说明了MySQL查询的几件事:

  1. 命令通常由一个SQL语句以分号结尾(也有一些例外,分号可以省略。退出,前面提到,是其中之一。我们以后会去给别人)

2.当你执行一个命令,mysql 发送到server 来执行和显示结果, 然后打印另一个mysql>prompt 来表明它已经准备你其他的命令。

3.mysql 显示查询输出表格形式(行和列),第一行包含了列的标签。接下来的行是查询结果,通常,列标签是从数据库表中获取列的名称。

如果你检索表达式的值,而不是一个表的列(在这个例子中显示),mysql 标签列使用正则表达式

  1. mysql 显示多少行被返回和查询执行多久了,它给你一个粗略的服务器性能。 这些值是不准确的,因为它们代表墙上时钟(not CPU or machine time)

因为它们受很多因素影响,比如服务器负载和网络延迟。

关键词可以进入任何lettercase。下列查询是等价的:
mysql> SELECT VERSION(), CURRENT_DATE;
mysql> select version(), current_date;
mysql> SeLeCt vErSiOn(), current_DATE;

这里是另一个查询。这表明,你可以使用MySQL作为一个简单的计算器:
mysql> SELECT SIN(PI()/4), (4+1)*5;
+——————+———+
| SIN(PI()/4) | (4+1)*5 |
+——————+———+
| 0.70710678118655 | 25 |
+——————+———+
1 row in set (0.02 sec)

迄今为止所有的查询都是比较短的,单行语句,你甚至可以输入多条语句在一行里:
mysql> SELECT VERSION(); SELECT NOW();
+————–+
| VERSION() |
+————–+
| 5.6.1-m4-log |
+————–+
1 row in set (0.00 sec)
+———————+
| NOW() |
+———————+
| 2010-08-06 12:17:13 |
+———————+
1 row in set (0.00 sec)

一个命令不需要全部在一个单一行上,所以需要几行的命令就不是问题。MySQL 通过你的结束符号确定

mysql> SELECT
-> USER()
-> ,
-> CURRENT_DATE;
+—————+————–+
| USER() | CURRENT_DATE |
+—————+————–+
| jon@localhost | 2010-08-06 |
+—————+————–+

3.3 Creating and Using a Database 创建和使用数据库

一旦你知道进入数据库,你准备访问数据库

假设在你家有几只动物,你需要跟踪他们获得各种不同类型的信息,你可以通过创建表来获得数据和加载获得的描述信息

然后你可以通过检索数据来回答不同种类的问题,本节将向您展示如何执行以下操作:

Create a database –创建数据库

Create a table —创建表

Load data into the table —加载数据到表

Retrieve data from the table in various ways —从各方面获取表中的数据

Use multiple tables –使用多个表

动物园数据是简单的(故意的),但不难想到现实世界的情况下,类似类型的数据库可能会被使用。比如,

这样的数据库可以被一个农民用于追踪牲畜,或者有兽医来记录病情。

Use the SHOW statement to find out what databases currently exist on the server:

mysql> SHOW DATABASES;
+———-+
| Database |
+———-+
| mysql |
| test |
| tmp |
+———-+

你可以使用test 数据库(如果你已经可以访问它) 比如下面的例子,但是你再数据库里创建的任何东西,可以被删除被任何人有访问权限的。

由于这个原因, 你需要告诉你的MySQL 管理员使用数据库的权限,假设你需要call你的menagerie,管理员需要执行下面的命令:
mysql> GRANT ALL ON menagerie.* TO ‘your_mysql_name’@’your_client_host’;

your_mysql_name 是MySQL 用户名字 your_client_host 你连接的客户机

3.4 Getting Information About Databases and Tables 得到数据库和表的信息

当你忘记了数据库或者表的名字, 或者表的结构是怎么样的(比如,列的名字) MySQL解决这个问题通过几个语句提供的信息

你之前已经从SHOW DATABASES 看到了, 列出了服务器的所有的数据库, 找出哪些数据库是当前选择的,使用DATABASE() 函数

mysql> SELECT DATABASE(); —显示当前使用的数据库
+————+
| DATABASE() |
+————+
| menagerie |
+————+

如果你当前没有使用任何的数据库,结果是NULL

找出默认数据库包含的表(比如,你不确定表的名字)
mysql> SHOW TABLES;
+———————+
| Tables_in_menagerie |
+———————+
| event |
| pet |
+———————+

3.5 Using mysql in Batch Mode 使用mysql 的Batch 模式

在先前的章节, 你使用mysql的交互式方式查询和查看结果,你可以使用bacth模式来运行,要做到这点,把你想运行的命令放到一个文件里,

然后告诉MySQL读取输入文件:

shell> mysql < batch-file

3.6 Examples of Common Queries 一些通用的查询例子:

这里有一些例子 如何使用MySQL 来解决常见的问题:

一些例子使用tabel shop 来为每个物品(项目编号) 为某个贸易商(经销商).

如果每个交易品都有一个固定的价格,那么(文章,经销商)是记录的主要关键。

shell> mysql your-database-name

( 在很多数数据库安装中,你可以使用数据库名字test)

您可以创建和填充这些语句的示例表

CREATE TABLE shop (
article INT(4) UNSIGNED ZEROFILL DEFAULT ‘0000’ NOT NULL,
dealer CHAR(20) DEFAULT ” NOT NULL,
price DOUBLE(16,2) DEFAULT ‘0.00’ NOT NULL,
PRIMARY KEY(article, dealer));

INSERT INTO shop VALUES
(1,’A’,3.45),(1,’B’,3.99),(2,’A’,10.99),(3,’B’,1.45),
(3,’C’,1.69),(3,’D’,1.25),(4,’D’,19.95);
After issuing the statements, the table should have the following contents:

SELECT * FROM shop;

+———+——–+——-+
| article | dealer | price |
+———+——–+——-+
| 0001 | A | 3.45 |
| 0001 | B | 3.99 |
| 0002 | A | 10.99 |
| 0003 | B | 1.45 |
| 0003 | C | 1.69 |
| 0003 | D | 1.25 |
| 0004 | D | 19.95 |
+———+——–+——-+

Particle Filter Tutorial 粒子滤波:从推导到应用(一)

前言:       博主在自主学习粒子滤波的过程中,看了很多文献或博客,不知道是看文献时粗心大意还是悟性太低,看着那么多公式,总是无法把握住粒子滤波的思路,也无法将理论和实践对应起来。比如:理论推导过...

PyQt4 tutorial读书笔记(1)基础篇

PyQt4 tutorial链接:http://zetcode.com/gui/pyqt4/英文版的,看着也不难,实例举的简单易懂,很不错。简易点记录一下。1、Every PyQt4 applicat...

DeepLearning tutorial(5)CNN卷积神经网络应用于人脸识别(详细流程+代码实现)

DeepLearning tutorial(5)CNN卷积神经网络应用于人脸识别(详细流程+代码实现) @author:wepon @blog:http://blog.csdn.net/u012...

如何脱离tutorial使用igllib

花了快一周的时间终于能把TUTORIAL中的102调出来了,但是自己要用这个库怎么办呢?又花了一天时间研究,终于! 好吧,教程开始,这里我们以单独实现102为准 1、新建conso...
  • seamanj
  • seamanj
  • 2015年10月24日 00:35
  • 4137

Particle Filter Tutorial 粒子滤波:从推导到应用(二)

二、蒙特卡洛采样 假设我们能从一个目标概率分布p(x)中采样到一系列的样本(粒子),(至于怎么生成服从p(x)分布的样本,这个问题先放一放),那么就能利用这些样本去估计这个分布的某些函数的期望值。譬如...

graph slam tutorial :从推导到应用2

在上一部分中通过一个例子大致了解了graph based slam的优化过程。在本篇博客中将提升一个层次,对图优化的求解过程进行推导。由于博文关注的在图构建好以后,如何调整机器人位姿使误差最下。因此,...

DeepLearning tutorial(5)CNN卷积神经网络应用于人脸识别(详细流程+代码实现)

> DeepLearning tutorial(5)CNN卷积神经网络应用于人脸识别(详细流程+代码实现)@author:wepon@blog:http://blog.csdn.net/u01216...

Tanks!Tutorial初学者可能会出现的问题

这几天尝试学习了下U3D,到官网跟着教程做了一些项目,现在就以初学者的角度提下碰到的问题和解决方法。 1.Shell击中目标后,目标不会扣血,这是为什么? 第一步,要确定下Shell和Tank是否都添...
  • ZeusKnt
  • ZeusKnt
  • 2017年06月22日 14:26
  • 142

粒子滤波 particle filter tutorial:从推导到应用文章学习笔记

来源: 因为工作中从事机器人导航相关工作,需要了解粒子滤波相关知识,现在从csdn博主(白巧克力亦唯心)的几篇博文研究一番,写一写自己的学习笔记与思路,所有思路从该博主来,贴出该博主的网址http:...
  • CWY_007
  • CWY_007
  • 2017年11月28日 14:47
  • 61

NS3 Tutorial 中文版:第四章 概念概述

NS3
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Tutorial
举报原因:
原因补充:

(最多只允许输入30个字)