mysql技術內幕之常規使用

來源:互聯網
上載者:User

標籤:student   asc   sele   prim   開頭   base   時間   順序   diff   

mysql中:終止語句方法:

             1.在語句結尾處,輸入分號(;)表示語句到此結束

              2.使用\g(意思是go)

                       \G以垂直的方式顯示結果,每行顯示一個值

資料庫:資料庫中包含表,對錶中資料執行插入,檢索,修改或刪除操作

建立新的資料庫:CREATE DATABASE sampdb;(從小寫字母這裡開始是自己取的資料庫名字)

將當前資料庫選中並設為預設資料庫:①USE sampdb; ②SELECT DATABASE();

建立表:CREATE TABLE tbl_name(colum_spaces);

資料類型VARCHAR: VARCHAR(n)表示該列可存放長度可變的字串,但其長度存在上限,最大字元為n個字元

AUTO_INCREMENT:自動產生索引號

PRIMARY KEY(member_id):表示member_id列建立索引,要求該列裡的所有值都必須唯一,可以加快表的尋找速度

ENUM(‘F‘,‘M‘);  把表列的可能取值限定在某個有限集合裡

建立一個表時在其末尾加ENGINE,表示為mysql應該使用的儲存引擎指定名字(儲存引擎是用來管理某種表的處理器),如:ENGINE=InnoDB;

表中插入一行值:INSERT INTO  tbl_name VALUES(valu1,value2...);    eg: INSERT INTO student VALUES(‘lymle‘,‘M‘,NULL);

還可以在一個表中一次插入多行:eg:INSERT INTO student VALUES(‘Avery‘,‘F‘,NULL),(‘Nathan‘,‘M‘,NULL);

建立的行,指定幾列賦初值:格式:INSERT INTO tbl_name(col_name1,col_name2...) VALUES(value2,value2...);   eg: INSERT INTO member (last_name,first_name)VALUES (‘stein‘,‘waddo‘);

可一次插入多個值值列表:INSERT INTO student(name,sex) VALUES(‘Abby‘,‘F‘),(‘Jo‘,‘M‘);

指定幾列賦初值,第二種形式:INSERT INTO tbl_name SET col_name1=value,col_name2=value2...;          eg:INSERT INTO member SET last_name=‘stein‘,first_name=‘waldo‘;

從檔案中讀取已經編好的語句(不像每次輸入一行,檔案中的是語句全部提前打好,最終一次性輸入),倘若mysql已經運行,可以執行如下格式,SOURCE  檔案名稱;         eg:SOURCE insert_president.sql    此處檔案名稱自己取,末尾的sql是方便尋找代表裡面存放的是sql語句。

讀取檔案中轉載的未經處理資料:格式:LOAD DATA LOCAL INFILE ‘檔案名稱‘ INTO

檢索資訊: SELECT ( what to retrieve)  FROM (table or tables) WHERE (coditions that data must satisfy);   其中大寫字母為關鍵字,括弧中的為可替換詞

WHERE子句的運算式:允許使用算術運算子,比較子,邏輯運算子。

當把一個列與大量值進行比較時,即從選中的這列中篩選出滿足條件的值(只需滿足其中一個條件即可)時,用IN()會比較方便  eg:  SELECT last_name,first_name FROM president WHERE state IN(‘VA‘,‘MA‘);

NULL表示無值或未知值,要判斷一個值是否為NULL,只能用IS NULL 或IS NOT NULL,而不能用=,<,或<>(這是不等於的意思)  eg:SELECT  last_name,first_name FROM president WHERE death IS NULL;   <=>用於比較NULL與NULL,NULL與NULL的結果為1

對查詢結果排序:在查詢語句後加一條ORDER BY 子句,預設是升序排列,在列名後面加關鍵字ASC(升序)或DESC(降序又叫逆序)  eg:SELECT last.name,state FROM president ORDER BY state DESC;

對多列排序時,每列可以單獨地升序或降序: eg:SELECT last_name,state FROM president ORDER BY state ESC,last_name ASC;

排序時,升序:NULL出現在開頭,降序時,NULL出現在末尾。想要不服從這種順序,可以使用IF()函數,計算第一個參數給出地運算式的值,結果為真,返回第二個參數的值,若結果為假,則返回第三個參數的值,排序時預設把真的放到假的前面,設定時可以把需要排在前面的通過條件設成真即可。

限制查詢結果輸出行數:在末尾加LIMIT     eg:SELECT bir FROM pre ORDER BY  birth LIMIT 5;  按出生日期把排在前5位的總統列出來

通過LIMIT,從查詢結果的中間抽出部分連續行,需要指定兩個值,①從查詢結果的開頭跳過的行數②需要返回的行數目   eg: SELECT birth FROM president ORDER BY birth DESC LIMIT 10,5;  //跳過前10行,取之後連續的5行

將查詢結果串連,使用關鍵字CONNECT   eg:SELECT CONNECT (first_name,‘ ‘,last_name)CONNECT(city,‘ ‘,state) FROM president;     //先將名和姓用空格連起來,串連表中的幾列

為輸出資料行分配別名(當輸出資料行的名字很長時),格式:AS name 若輸出資料行別名中含有空格,別名必須用引號引起來  eg: SELECT CONNECT (first_name,‘ ‘,last_name)AS name, CONNECT(city,‘ ‘,state) AS  Birthplace FROM president ; 

在為列提供別名時,可以省略關鍵字AS, eg:SELECT 1 one,2 two,3 three;

檢索具體的某一年,月,日,使用YEAR(),MONTH(),DAYOFMONTH()函數,  eg:SELECT last_name,birth FROM president WHERE MONTH(birth)=3 AND DAYOFMONTH(birth)=29;//找出3月29日出生的總統

查詢今日,使用CURDATE()函數

查詢兩個日期間的時間間隔:①當已知兩個日期時,用TIMESTANPDIFF()函數,  格式: TIMESTAMPDIFF(interval,datetime_expre1,datetime_expr2)  後面兩個是比較的時間點,後減前為時間間隔,其中 interval(時間間隔單位)必須是下面幾種之一: FRAC_SECOND  表示間隔是毫秒, SECOND 秒 ,MINUTE 分鐘,HOUR 小時 DAY 天 ,WEEK  星期, MONTH 月, QUARTER  季度 , YEAR  年    eg:  SELECT  last_name,expiration FROM member WHERE TIMESTAMPDIFF( DAY ,CURDATE(),expiration)<60;

②已知一個日期和時間間隔,計算另一個日期,關鍵函數:DATA_ADD()和DATA_SUB()  eg: SELECT DATA_ADD(‘1970-1-1‘, INTERVAL 10 YEAR); //其中的interval為間隔,該條語句能把在這10年期間的都搜尋出來

 

mysql技術內幕之常規使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.