11 ຖານຂໍ້ມູນ MySQL ລ່ວງ ໜ້າ "ຄຳ ຖາມ ສຳ ພາດແລະ ຄຳ ຕອບ" ສຳ ລັບຜູ້ໃຊ້ Linux


ພວກເຮົາໄດ້ເຜີຍແຜ່ບົດຂຽນ MySQL ສອງບົດແລ້ວ, ເຊິ່ງໄດ້ຮັບການຕີລາຄາສູງຈາກ Tecmint Community. ນີ້ແມ່ນບົດຂຽນທີສາມກ່ຽວກັບຊຸດ MySQL ສຳ ພາດແລະສິບຫົກໃນຄໍ ລຳ ສຳ ພາດປະເພດ.

<

  • 15 ຄຳ ຖາມ ສຳ ພາດ MySQL ພື້ນຖານ
  • 10 ຄຳ ຖາມ ສຳ ພາດກ່ຽວກັບຖານຂໍ້ມູນ MySQL ສຳ ລັບຕົວກາງ
  • ພວກເຮົາໄດ້ມາຮອດບ່ອນນີ້ທັງ ໝົດ ຍ້ອນການສະ ໜັບ ສະ ໜູນ ຂອງທ່ານແລະພວກເຮົາສະແຫວງຫາອັນດຽວກັນໃນອະນາຄົດເພື່ອເປັນທີ່ສຸດຂອງທ່ານ. ຕໍ່ໄປນີ້ໃນບົດຄວາມນີ້ພວກເຮົາຈະສຸມໃສ່ການປະຕິບັດຕົວຈິງຂອງ MySQL, ຄຳ ຖາມທີ່ກ່ຽວຂ້ອງ ສຳ ລັບດ້ານການ ສຳ ພາດ.

    ຄຳ ຕອບ: ຄຳ ສັ່ງ MySQL ດ້ານລຸ່ມຈະສະແດງເວີຊັນຂອງ server ແລະຖານຂໍ້ມູນທີ່ຖືກຄັດເລືອກໃນປະຈຸບັນ.

    mysql> SELECT VERSION(), DATABASE();
    
    +-------------------------+------------+
    | VERSION()               | DATABASE() |
    +-------------------------+------------+
    | 5.5.34-0ubuntu0.13.10.1 | NULL       |
    +-------------------------+------------+
    1 row in set (0.06 sec)

    ໃນຄໍລໍາຖານຂໍ້ມູນມັນສະແດງໃຫ້ເຫັນມູນຄ່າ NULL ເພາະວ່າພວກເຮົາບໍ່ໄດ້ເລືອກຖານຂໍ້ມູນໃດໆ. ສະນັ້ນ, ເລືອກຖານຂໍ້ມູນຕາມທີ່ສະແດງຢູ່ໃນ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

    mysql> use Tecmint;
    
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    mysql> select VERSION(), DATABASE();
    
    +-------------------------+------------+
    | VERSION()               | DATABASE() |
    +-------------------------+------------+
    | 5.5.34-0ubuntu0.13.10.1 | tecmint    |
    +-------------------------+------------+
    1 row in set (0.00 sec)

    ຄຳ ຕອບ: ຄຳ ຖະແຫຼງຂ້າງລຸ່ມນີ້ຈະສະແດງທຸກຖັນຂອງຜູ້ໃຊ້ທັງ ໝົດ ຈາກຕາຕະລາງ ' Tecmint ' ຍົກເວັ້ນຜູ້ໃຊ້ ' SAM '.

    mysql> SELECT * FROM Tecmint WHERE user !=SAM;
    
    +---------------------+---------+---------+---------+---------+-------+ 
    | date                | user    | host 	 | root     | local   | size  | 
    +---------------------+---------+---------+---------+---------+-------+ 
    | 2001-05-14 14:42:21 | Anthony | venus  | barb     | venus   | 98151 | 
    | 2001-05-15 08:50:57 | TIM     | venus  | phil     | venus   | 978   | 
    +---------------------+---------+---------+---------+---------+-------+

    ຄຳ ຕອບ: ຕົວປະຕິບັດການ AND ແມ່ນໃຊ້ໃນເວລາທີ່ພວກເຮົາໃຊ້ (=) ແລະຜູ້ປະຕິບັດງານຫຼືໃຊ້ໃນເວລາທີ່ພວກເຮົາໃຊ້ (! =). ຕົວຢ່າງຂອງ (=) ກັບ AND Operator.

    mysql> SELECT * FROM mail WHERE user = SAM AND root = phil

    ຕົວຢ່າງຂອງ (! =) ກັບ OR Operator.

    mysql> SELECT * FROM mail WHERE user != SAM OR root != phil
    
    +---------------------+---------+---------+---------+---------+-------+ 
    | date                | user    | host    | root    | local   | size  | 
    +---------------------+---------+---------+---------+---------+-------+ 
    | 2001-05-14 14:42:21 | Anthony | venus   | barb    | venus   | 98151 | 
    +---------------------+---------+---------+---------+---------+-------+

    <

  • =: ໝາຍ ຄວາມວ່າເທົ່າກັບ
  • ! = : ບໍ່ເທົ່າກັບ
  • ! : ບໍ່ເປັນຕົວແທນໃຫ້ຜູ້ປະຕິບັດງານ
  • The AND & OR ຖືກຖືວ່າເປັນຜູ້ເຂົ້າຮ່ວມໃນ MySQL.

    ຄຳ ຕອບ: ຄຳ ຖາມໃນ MySQL ສາມາດຂຽນໄດ້ຢ່າງຖືກຕ້ອງໂດຍໃຊ້ IFNULL() ຄຳ ຖະແຫຼງ. ຄຳ ຖະແຫຼງການຂອງ IFNULL() ທົດສອບການໂຕ້ຖຽງຄັ້ງ ທຳ ອິດແລະກັບຄືນຖ້າມັນບໍ່ແມ່ນ NULL, ຫລືສົ່ງຄືນການໂຕ້ຖຽງຄັ້ງທີສອງ, ຖ້າບໍ່ດັ່ງນັ້ນ

    mysql> SELECT name, IFNULL(id,'Unknown') AS 'id' FROM taxpayer;
    
    +---------+---------+ 
    | name 	  | id      | 
    +---------+---------+ 
    | bernina | 198-48  | 
    | bertha  | Unknown | 
    | ben     | Unknown | 
    | bill    | 475-83  | 
    +---------+---------+

    ຄຳ ຕອບ: ພວກເຮົາ ຈຳ ເປັນຕ້ອງ ນຳ ໃຊ້ຂໍ້ ກຳ ນົດ ຈຳ ກັດ ພ້ອມກັບ ORDER BY ເພື່ອບັນລຸສະຖານະການທີ່ໄດ້ກ່າວມາຂ້າງເທິງ.

    mysql> SELECT * FROM name LIMIT 1;
    
    +----+------+------------+-------+----------------------+------+ 
    | id | name | birth      | color | foods                | cats | 
    +----+------+------------+-------+----------------------+------+ 
    | 1  | Fred | 1970-04-13 | black | lutefisk,fadge,pizza | 0    | 
    +----+------+------------+-------+----------------------+------+
    mysql> SELECT * FROM profile LIMIT 5;
    
    +----+------+------------+-------+-----------------------+------+ 
    | id | name | birth      | color | foods                 | cats | 
    +----+------+------------+-------+-----------------------+------+ 
    | 1  | Fred | 1970-04-13 | black | lutefisk,fadge,pizza  | 0    | 
    | 2  | Mort | 1969-09-30 | white | burrito,curry,eggroll | 3    | 
    | 3  | Brit | 1957-12-01 | red   | burrito,curry,pizza   | 1    |   
    | 4  | Carl | 1973-11-02 | red   | eggroll,pizza         | 4    | 
    | 5  | Sean | 1963-07-04 | blue  | burrito,curry         | 5    | 
    +----+------+------------+-------+-----------------------+------+
    mysql> SELECT * FROM profile ORDER BY birth LIMIT 1;
    
    +----+------+------------+-------+----------------+------+ 
    | id | name | birth      | color | foods          | cats | 
    +----+------+------------+-------+----------------+------+ 
    | 9  | Dick | 1952-08-20 | green | lutefisk,fadge | 0    | 
    +----+------+------------+-------+----------------+------+

    ຄຳ ຕອບ: ທັງດີທັງຂໍ້ດີແລະຂໍ້ເສຍປຽບຂອງມັນ. ເປັນເລື່ອງທີ່ໃຊ້ເວລາຂ້ອຍມັກ MySQL.

    <

  • Mysql ແມ່ນ FOSS.
  • MySQL ແມ່ນພົກພາໄດ້.
  • MYSQL ສະ ໜັບ ສະ ໜູນ ທັງ GUI ພ້ອມທັງ Command Prompt.
  • MySQL Administration ແມ່ນໄດ້ຮັບການສະ ໜັບ ສະ ໜູນ ຜ່ານ Query Browser.
  • ຄຳ ຕອບ: ການເຂົ້າຫາ MySQL ໃນປະຈຸບັນແມ່ນງ່າຍດາຍຄືກັບການປະຕິບັດ ຄຳ ຖະແຫຼງການ SELECT ຂ້າງລຸ່ມນີ້.

    mysql> SELECT CURRENT_DATE();
    
    +----------------+
    | CURRENT_DATE() |
    +----------------+
    | 2014-06-17     |
    +----------------+

    Ans: ພວກເຮົາໃຊ້ຕົວເລືອກ '-e' (ສົ່ງອອກ) ເພື່ອສົ່ງອອກຕາຕະລາງ MySQL ຫຼືຖານຂໍ້ມູນທັງ ໝົດ ເຂົ້າໃນເອກະສານ XML. ມີຕາຕະລາງໃຫຍ່ພວກເຮົາອາດຈະຕ້ອງໄດ້ຈັດຕັ້ງປະຕິບັດດ້ວຍຕົນເອງແຕ່ ສຳ ລັບໂຕະນ້ອຍໆ, ໂປແກຼມຕ່າງໆເຊັ່ນ phpMyAdmin ສາມາດເຮັດວຽກໄດ້.

    ຄໍາສັ່ງພື້ນເມືອງຂອງ MySQL ສາມາດເຮັດໄດ້.

    mysql -u USER_NAME –xml -e 'SELECT * FROM table_name' > table_name.xml

    ບ່ອນທີ່ USER_NAME ແມ່ນຊື່ຜູ້ໃຊ້ຂອງຖານຂໍ້ມູນ, table_name ແມ່ນຕາຕະລາງທີ່ພວກເຮົາ ກຳ ລັງສົ່ງອອກໄປທີ່ XML ແລະ table_name.xml ແມ່ນເອກະສານ xml ທີ່ເກັບຂໍ້ມູນ.

    ຄຳ ຕອບ: MySQL_pconnect() ເປີດການເຊື່ອມຕໍ່ທີ່ຄົງຢູ່ກັບຖານຂໍ້ມູນ MySQL ເຊິ່ງ ໝາຍ ຄວາມວ່າພຽງແຕ່ວ່າຖານຂໍ້ມູນບໍ່ໄດ້ຖືກເປີດທຸກຄັ້ງທີ່ ໜ້າ ເວັບໂຫລດແລະເພາະສະນັ້ນພວກເຮົາບໍ່ສາມາດ ໃຊ້ MySQL_close() ເພື່ອປິດການເຊື່ອມຕໍ່ທີ່ຕໍ່ເນື່ອງ.

    ຄວາມແຕກຕ່າງສັ້ນໆລະຫວ່າງ MySQL_pconnect ແລະ MySQL_connect ແມ່ນ.

    ຕ່າງຈາກ MySQL_pconnect, MySQL_connect - ເປີດຖານຂໍ້ມູນທຸກໆຄັ້ງທີ່ ໜ້າ ເວັບຖືກໂຫລດເຊິ່ງສາມາດຖືກປິດທຸກເວລາໂດຍໃຊ້ ຄຳ ຖະແຫຼງການ MySQL_close().

    ຄຳ ຕອບ: ຄຳ ສັ່ງຕໍ່ໄປນີ້ຈະສະແດງດັດສະນີທັງ ໝົດ ຂອງຕາຕະລາງ 'ຜູ້ໃຊ້'.

    mysql> show index from user;
    +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ 
    | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | 
    +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ 
    | user  |          0 | PRIMARY  |            1 | Host        | A         |        NULL |     NULL | NULL   |      | BTREE      |         |               | 
    | user  |          0 | PRIMARY  |            2 | User        | A         |           4 |     NULL | NULL   |      | BTREE      |         |               | 
    +-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ 
    2 rows in set (0.00 sec)

    ຄຳ ຕອບ: CSV ຢືນ ສຳ ລັບຄຸນຄ່າ Comma-Separated Values aka ຄຸນລັກສະນະທີ່ແຍກອອກຈາກກັນ. ຕາຕະລາງ CSV ເກັບຮັກສາຂໍ້ມູນເປັນແບບ ທຳ ມະດາແລະຮູບແບບຕາຕະລາງ. ໂດຍປົກກະຕິມັນມີບັນທຶກ ໜຶ່ງ ເສັ້ນຕໍ່ເສັ້ນ.

    ບັນທຶກແຕ່ລະອັນຖືກແຍກອອກໂດຍຜູ້ ຈຳ ກັດສະເພາະ (Comma, Semi-colon, …) ເຊິ່ງແຕ່ລະບັນທຶກມີແຕ່ລະພາກສະ ໜາມ ດຽວກັນ. ຕາຕະລາງ CSV ຖືກ ນຳ ໃຊ້ຢ່າງກວ້າງຂວາງທີ່ສຸດໃນການເກັບຮັກສາລາຍຊື່ໂທລະສັບເພື່ອ ນຳ ເຂົ້າແລະສົ່ງອອກແລະສາມາດ ນຳ ໃຊ້ເພື່ອເກັບຂໍ້ມູນຂໍ້ຄວາມ ທຳ ມະດາ.

    ດຽວນີ້ ໝົດ ແລ້ວ. ຂ້າພະເຈົ້າຈະຢູ່ທີ່ນີ້ອີກເທື່ອ ໜຶ່ງ ດ້ວຍບົດຂຽນທີ່ ໜ້າ ສົນໃຈອີກ, ທ່ານຜູ້ອ່ານຈະມັກ. ຈົນກ່ວາຫຼັງຈາກນັ້ນຕິດຕາມແລະເຊື່ອມຕໍ່ກັບ Tecmint ແລະຢ່າລືມໃຫ້ພວກເຮົາມີ ຄຳ ຕິຊົມທີ່ມີຄຸນຄ່າຂອງທ່ານໃນສ່ວນ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.