弒月繁楓
          helloworld
          posts - 0,comments - 0,trackbacks - 0

          進入服務器

          • 要想查看由mysql提供的選擇項目表,可以用- -help選項來調用
          • 連接服務器 mysql -h host -u user -p
          • 斷開服務器 成功地連接后,可以在mysql>提示下輸入QUIT (或\q)隨時退出

          輸入查詢

          要求服務器告訴它的版本號和當前日期SELECT VERSION(), CURRENT_DATE;

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

          能將mysql用作一個簡單的計算器:SELECT SIN(PI()/4), (4+1)*5;

          顯示的命令是相當短的單行語句。

          可以在一行上輸入多條語句,只需要以一個分號間隔開各語句

          提示符 含義

          • mysql >準備好接受新命令。
          •            ->等待多行命令的下一行。
          •             '>等待下一行,等待以單引號(“'”)開始的字符串的結束。
          •            ">等待下一行,等待以雙引號(“"”)開始的字符串的結束。
          •            `>等待下一行,等待以反斜點(‘`’)開始的識別符的結束。
          •            /*>等待下一行,等待以/*開始的注釋的結束。

          創建并使用數據庫

          • 使用SHOW語句找出服務器上當前存在什么數據庫:
          • mysql> SHOW DATABASES;
          • 如果沒有SHOW DATABASES權限,則不能看見所有數據庫

          創建并選擇數據庫

          • mysql> CREATE DATABASE 數據庫名稱;
          • mysql> USE 數據庫名稱;

          數據庫只需要創建一次,但是必須在每次啟動mysql會話時在使用前先選擇它。你可以根據上面的例子執行一個USE語句來實現。還可以在調用mysql時,通過命令行選擇數據庫,只需要在提供連接參數之后指定數據庫名稱。

          shell> mysql -h host -u user -p數據庫名稱;

          創建表

          • mysql> SHOW TABLES;
          • 使用一個CREATE TABLE語句指定你的數據庫表的布局:
          • mysql> CREATE TABLE 表名 (列名 數據類型,多個);
          • DATABASE( )函數:
          • mysql> SELECT DATABASE();
          • 如果你還沒選擇任何數據庫,結果是NULL。
          • mysql> SHOW TABLES;找出當前的數據庫包含什么表
          • mysql> DESCRIBE 表;顯示表中每個列的信息:
          • 創建表后,需要填入內容。通過LOAD DATA和INSERT語句可以完成該任務。
          • mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet;
          • 文本文件“pet.txt”裝載到pet表中
          • 請注意如果用Windows中的編輯器(使用\r\n做為行的結束符)創建文件,應使用:
          • mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet
          • -> LINES TERMINATED BY '\r\n';
          • (在運行OS X的Apple機上,應使用行結束符'\r'。)
          • 如果想要一次增加一個新記錄,可以使用INSERT語句。最簡單的形式是,提供每一列的值,其順序與CREATE TABLE語句中列的順序相同。假定Diane把一只新倉鼠命名為Puffball,你可以使用下面的INSERT語句添加一條新記錄:
          • mysql> INSERT INTO pet
          • -> VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);

          從表檢索信息

          SELECT語句用來從數據表中檢索信息。

          • 語句的一般格式是:
          • SELECT what_to_select
          • FROM which_table
          • WHERE conditions_to_satisfy;
          • SELECT最簡單的形式是從一個表中檢索所有記錄:
          • mysql> SELECT * FROM pet;
          • 為了使輸出減到最少,增加關鍵字DISTINCT檢索出每個唯一的輸出記錄:
          • mysql> SELECT DISTINCT owner FROM pet;
          • 默認排序是升序,最小的值在第一。要想以降序排序,在你正在排序的列名上增加DESC(降序 )關鍵字:
          • mysql> SELECT name, birth FROM pet ORDER BY birth DESC;
          • 日期函數,year(),month(),day(),right();
          • NULL值操作 不能使用算術比較 操作符例如=、<或!=
          • 使用IS NULL和IS NOT NULL操作符:
          • 在MySQL中,0或 NULL意味著假而其它值意味著真。
          • 布爾運算的默認真值是1。

          MySQL提供標準的SQL模式匹配,以及一種基于象Unix實用程序如vi、grep和sed的擴展正則表達式模式匹配的格式。

          • 正則表達式:
          • like 'b%' b開頭
          • like '%y' y結尾
          • like '%w%' w在中間
          • like '_____' 正好包含5個字符的名字

          擴展正則表達式的一些字符是:

          • · ‘.’匹配任何單個的字符。
          • · 字符類“[...]”匹配在方括號內的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。為了命名字符的范圍,使用一個“-”。“[a-z]”匹配任何字母,而“[0-9]”匹配任何數字。
          • · “ * ”匹配零個或多個在它前面的字符。例如,“x*”匹配任何數量的“x”字符,“[0-9]*”匹配任何數量的數字,而“.*”匹配任何數量的任何字符。

          如果REGEXP模式與被測試值的任何地方匹配,模式就匹配(這不同于LIKE模式匹配,只有與整個值匹配,模式才匹配)。

          • 為了定位一個模式以便它必須匹配被測試值的開始或結尾,在模式開始處使用“^”或在模式的結尾用“$”。
          • 如果你想強制使REGEXP比較區分大小寫,使用BINARY關鍵字使其中一個字符串變為二進制字符串。
          • 為了找出包含正好5個字符的名字,使用“^”和“$”匹配名字的開始和結尾,和5個“.”實例在兩者之間:
          • mysql> SELECT * FROM pet WHERE name REGEXP '^.....$';
          • 也可以使用“{n}”“重復n次”操作符重寫前面的查詢:
          • mysql> SELECT * FROM pet WHERE name REGEXP '^.{5}$';
          • COUNT(*)函數計算行數
          • COUNT( )和GROUP BY以各種方式分類你的數據。

          使用1個以上的表

          關于該查詢要注意的幾件事情:

          • FROM子句列出兩個表,因為查詢需要從兩個表提取信息。
          • 當從多個表組合(聯結)信息時,你需要指定一個表中的記錄怎樣能匹配其它表的記錄。這很簡單,因為它們都有一個name列。查詢使用WHERE子句基于name值來匹配2個表中的記錄。
          • 因為name列出現在兩個表中,當引用列時,你一定要指定哪個表。把表名附在列名前即可以實現。
          • 用table.列名來避免沖突

          最大值max(),最小值min();

          • 可以通過AUTO_INCREMENT屬性為新的行產生唯一的標識:
          • id MEDIUMINT NOT NULL AUTO_INCREMENT,
          • 要想以AUTO_INCREMENT值開始而不是1,你可以通過CREATE TABLE或ALTER TABLE來設置該值,如下所示:
          • mysql> ALTER TABLE tbl AUTO_INCREMENT = 100;

           

          posted on 2012-03-12 23:33 吖鑵_sysu 閱讀(209) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 石阡县| 桂阳县| 晋江市| 瑞昌市| 海宁市| 曲周县| 泗阳县| 巴东县| 天峻县| 密云县| 健康| 鄂尔多斯市| 罗城| 龙江县| 靖江市| 赞皇县| 伊春市| 合作市| 玛多县| 罗山县| 普兰店市| 福州市| 庆阳市| 杂多县| 广德县| 巩留县| 桑植县| 古交市| 莱州市| 牙克石市| 楚雄市| 大安市| 同心县| 五寨县| 宜昌市| 隆回县| 那曲县| 神木县| 丰宁| 固阳县| 武川县|