首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux数据库>mysql>正文

MySQL教學課程

http://www.oklinux.cn  2006-06-22  oklinux收集整理   会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

8 MySQL教學課程

本章通過演示如何使用mysql客戶程式創造和使用一個簡單的資料庫,提供一個MySQL的入門教學課程。mysql(有時稱為“終端監視器”或只是“監視”)是一個交互式程式,允許你連接一個MySQL伺服器,咝胁樵儊K察看結果。mysql可以用於批模式:你預先把查詢放在一個文件中,然後告訴mysql執行文件的內容。使用mysql的兩個方法都在這裡涉及。

為了看清由mysql提供的一個選擇項目表了,用--help選項調用它:

shell> mysql --help

本章假定mysql已經被安裝在你的機器上,並且有一個MySQL伺服器你可以連接。如果這不是真的,聯絡你的MySQL管理員。(如果是管理員,你將需要請教這本手冊的其他章節。)

本章描述建立和使用一個資料庫的全程序。如果你僅僅對存取一個已經存在資料庫感興趣,你可能想要跳過描述怎樣創建資料庫及它所包含的表的章節。

既然本章本質上是一個教學課程,許多細節有必要被省略。對於這裡所涉及的話題的更多資訊,咨詢本手冊的相關章節。

8.1 連接與斷開服務者

為了連接伺服器,當你調用mysql時,你通常將需要提供一個MySQL用戶名和很可能,一個密碼。如果伺服器咝性诓皇悄愕卿浀囊惶C器上,你也將需要指定主機名。聯繫你的管理員以找出你應該使用什麼連接參數進行連接(即,那個主機,用戶名字和使用的密碼)。一旦你知道正確的參數,你應該能像這樣連接:

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

********代表你的密碼﹔當mysql顯示Enter password:提示時輸入它。

如果能工作,你應該看見mysql>提示後的一些介紹資訊:

shell> mysql -h host -u user -p
Enter password: ********
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 459 to server version: 3.22.20a-log

Type 'help' for help.

mysql> 

提示符告訴你mysql準備為你輸入命令。

一些MySQL安裝允許用戶以“anoymous”(匿名)用戶連接在本地主機上咝械乃欧鳌H绻谀愕臋C器是這種情況,你應該能通過沒有任何選項地調用mysql與該伺服器連接:

shell> mysql 
在你成功地連接後,你可以在mysql>提示下打入QUIT隨時斷開: 
mysql> QUIT
Bye

你也可以鍵入control-D斷開。

在下列章節的大多數例子都假設你連接到伺服器。由mysql>提示指明他們。

8.2 輸入查詢

確保你連接上了伺服器,如在先前的章節討論的。這樣做本身將不選擇任何資料庫來工作,但是那很好。從這點講,知道關於如何出詢問的一點知識,比馬上跳至創建表、給他們裝載數據並且從他們檢索數據要來的重要寫。本節描述輸入命令的基本原則,使用幾個查詢,你能嘗試讓自己mysql是如何工作的。

這是一個簡單的命令,要求伺服器告訴你它的版本號和當前日期。在mysql>提示打入如下命令並按回車鍵:

mysql> SELECT VERSION(), CURRENT_DATE;
+--------------+--------------+
| version()    | CURRENT_DATE |
+--------------+--------------+
| 3.22.20a-log | 1999-03-19   |
+--------------+--------------+
1 row in set (0.01 sec)
mysql>

這詢問說明關於mysql幾件事:

  • 一個命令通常由SQL語句組成,隨後有一個分號。(有一些例外不需要一個分號。早先提到的QUIT是他們之一。我們將以後看到其它。)
  • 當你發出一個命令時,mysql發送它給伺服器並顯示結果,然後打出另外一個mysql>顯示它準備好接受另外的命令。
  • mysql以一張表格(行和列)顯示查詢輸出。第一行包含列的標簽,隨後的行是詢問結果。通常, 列標簽是你取自資料庫表的列的名字。如果你正在檢索一個表達式而非表列的值(如剛才的例子),mysql用表達式本身標記列。
  • mysql顯示多少行被返回,和查詢花了多長執行,它給你提供伺服器性能的一個大致概念。因為他們表示時鐘時間(不是 CPU 或機器時間),並且因為他們受到諸如伺服器負載和網路延時的影響,因此這些值是不精確的。(為了簡潔,在本章剩下的例子中不再顯示“集合中的行”。)

關鍵詞可以以任何大小寫字符被輸入。下列詢問是等價的:

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.707107 |      25 |
+-------------+---------+

至今顯示的命令是相當短的,單行語句。你甚至能在單行上輸入多條語句,只是以一個分號結束每一條:

mysql> SELECT VERSION(); SELECT NOW();
+--------------+
| version()    |
+--------------+
| 3.22.20a-log |
+--------------+

+---------------------+
| NOW()               |
+---------------------+
| 1999-03-19 00:15:33 |
+---------------------+

一個命令不必全在一個單獨行給出,所以需要多行的較長命令不是一個問題。mysql通過尋找終止的分號而不是尋找輸入行的結束來決定你的語句在哪兒結束。(換句話說,mysql接受自由格式輸入:它收集輸入行但執行他們直到它看見分號。)

這裡是一個簡單的多行語句的例子:

mysql> SELECT
    -> USER()
    -> ,
    -> CURRENT_DATE;
+--------------------+--------------+
| USER()             | CURRENT_DATE |
+--------------------+--------------+
| joesmith@localhost | 1999-03-18   |
+--------------------+--------------+

在這個例子中,在你輸入一個多行查詢的第一行後,要注意提示符如何從mysql>變為->,這正是mysql如何指出它沒見到完整的語句並且正在等待剩餘的部分。提示符是你的朋友,因為它提供有價值的反饋,如果你使用該反饋,你將總是知道mysql正在等待什麼。

如果你決定,你不想要執行你在輸入程序中輸入的一個命令,打入c取消它:

mysql> SELECT
    -> USER()
    -> c
mysql>

這裡也要注意提示符,在你打入c以後,它切換回到mysql>,提供反饋以表明mysql準備接受一個新命令。

下表顯示出你可以看見的各個提示符並總結他們意味著mysql在什麼狀態下:

提示符意思
mysql> 準備好接受新命令
-> 等待多行命令的下一行
'> 等待下一行,收集以單引號(“'”)開始的字符串
"> 等待下一行,收集以雙引號(“"”)開始的字符串

當你打算在一個單行上發出一個命令時,多行語句通常“偶然”出現,但是忘記終止的分號。在這種情況中,mysql等待進一步輸入:

mysql> SELECT USER()
    ->

如果這發生在你身上(你認為你輸完了語句但是唯一的反應是一個->提示符),很可能mysql正在等待分號。如果你沒有注意到提示符正在告訴你什麼,在認識到你需要做什麼之前,你可能花一會兒時間呆坐在那兒。進入一個分號完成語句,並且mysql將執行它:

mysql> SELECT USER()
    -> ;
+--------------------+
| USER()             |
+--------------------+
| joesmith@localhost |
+--------------------+

'>">提示符出現在在字符串收集期間。在MySQL中,你可以寫由“'”“"”字符括起來的字符串 (例如,'hello'"goodbye"),並且mysql讓你進入跨越多行的字符串。當你看到一個'>">提示符時,這意味著你已經輸入了包含以“'”“"”括號字符開始的字符串的一行,但是還沒有輸入終止字符串的匹配引號。如果你確實正在輸入一個多行字符串,很好,但是果真如此嗎?不盡然。更常見的,'>">提示符顯示你粗心地省掉了一個引號字符。例如:

mysql> SELECT * FROM my_table WHERE name = "Smith AND age < 30;
    ">
如果你輸入該SELECT語句,然後按回車鍵並等待結果,什麼都沒有出現。不要驚訝,“為什麼該查詢這麼長呢?”,注意">提示符提供的線索�
              

上一篇:MySQL語言參考   下一篇:第四章 进程管理

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·MySQL語言參考
·MySQL 存取權限系統
·从MySQL导出XLS数据库工具
·mysql 4.1采用了新验证方法后的认证问题
·MySQL数据库账户授权相关管理
·Linux下建立Mysql镜像数据库
·Mysql中mysqldump命令使用详解
·Mysql服务器的启动与停止(全)
·图形化管理MySQL更轻松
·MySQL图形化管理软件安装使用详解
·关于Mysql 4.1语言问题的完美解决方法
·pam_mysql 安装配置总结 (结合vsftpd)
·Linux网络备份MYSQL(精彩)
·MySQL服务维护笔记(上)
·MySQL服务维护笔记(下)
·MySQL数据库中部分数据损坏恢复过程
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·业界担忧MySQL命悬一线
·Fedora下通过rpm命令安装MySQL
·在Centos 5.2下安装最新的MySQL Proxy
·phpMyAdmin 3.0最简单的配置方法
·MySQL乱码问题深层分析
·Linux iptables下开放MySQL端口
·MySQL不支持GBK编码的解决方法
·把 MySQL 从 Windows 上移植到 Linux
·Fedora 10成功安装Oracle 10g
·MySQL加入复制replication服务器
·Ubuntu MySQL下JAVA开发中乱码问题的解
·怎样在线配置phpMyAdmin
  阅读排行
·详细讲解如何导入和导出MySQL数据库
·新手进阶 Python连接MySQL代码
·Linux 安装 Mysql
·MySQL出现ERROR 10061错误的解决一例
·MySQL TEXT、DATE、SET 数据类型
·在Linux系统环境下修改MySQL的root密码
·SQL语法详解
·MySQL出现1045错误服务找不到路径的解
·如何在Linux系统中安装MySQL
·在Linux 环境下安装 Mysql
·Fedora 10成功安装Oracle 10g
·Ubuntu下MySQL的手工安装
·在MySQL数据库增加新用户权限简介
·在Linux上安装MySQL Server 5.0
·多维数据库和olap(技术普及贴)
网摘收藏: