Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL
MySQL
  1. เพิ่ม AUTO_INCREMENT ให้คอลัมน์ใน MySQL ผ่าน PhpMyAdmin

    ใช้คำสั่ง ALTER TABLE ... MODIFY เพื่อเพิ่ม auto_increment:ALTER TABLE yourTableName MODIFY yourColumnName INT NOT NULL AUTO_INCREMENT;เปิด PhpMyAdmin ที่ localhost/phpmyadminตาราง AutoIncrementDemo มีคอลัมน์ UserId เป็น Primary Key ต้องการเพิ่ม AUTO_INCREMENT ให้คอลัมน์นี้ติ๊กเลือก A.I. (Auto Incre

  2. การใช้ HAVING กับ GROUP BY ใน MySQL

    ไวยากรณ์การใช้ HAVING กับ GROUP BY โดยตั้งเงื่อนไข MAX:SELECT yourColumnName FROM yourTableName GROUP BY yourColumnName HAVING MAX(yourColumnName) < yourValue;มาสร้างตาราง: create table WhereAfterGroupDemo ( UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, UserProcess int, UserThreadId int ); Query O

  3. วิธีอัปเดตค่า NULL ในฟิลด์ของ MySQL

    มาสร้างตารางก่อน: create table OrderDemo ( OrderId int NOT NULL AUTO_INCREMENT PRIMARY KEY, OrderPrice int, OrderDatetime datetime ); Query OK, 0 rows affected (0.66 sec)ตัวอย่างแทรกข้อมูล (มีค่า NULL): insert into OrderDemo(OrderPrice,OrderDatetime) values(1000,2017-12-28); Query OK, 1 row affected

  4. MySQL รองรับ Table Inheritance หรือไม่

    MySQL ใช้ Foreign Key Constraint แทนการสืบทอด (inheritance) MySQL ไม่รองรับ Table Inheritance โดยตรงแต่สามารถทำได้ผ่าน Foreign Key มาสร้างตาราง:ตารางแม่ (Parent) create table Parent_Table ( ParentId int, PRIMARY KEY(ParentId) ); Query OK, 0 rows affected (3.59 sec)ตารางลูก (Child) create table Child

  5. วิธีล็อกหลายตารางพร้อมกันใน MySQL

    ใช้คำสั่ง LOCK TABLES เพื่อล็อกหลายตาราง ไวยากรณ์:LOCK TABLES yourTableName1 WRITE; LOCK TABLES yourTableName2 WRITE; LOCK TABLES yourTableName3 WRITE; ...การล็อกตารางไม่ปลอดภัยต่อธุรกรรม (transaction-safe) จะ commit ธุรกรรมที่ทำงานอยู่ก่อน แล้วค่อยพยายามล็อกตารางถัดไปสมมติมีตาราง OrderDemo: create

  6. SHOW TABLE STATUS ใน MySQL แสดงข้อมูลอะไรบ้าง

    คำสั่ง SHOW TABLE STATUS แสดง NAME, ENGINE, VERSION, ROWS, CHECKSUM ฯลฯ ของตารางตัวอย่างสร้างตารางด้วย engine MyISAM: create table Post_Demo ( PostId int, PostName varchar(100), PostDate datetime, PRIMARY KEY(PostId) ) ENGINE = MyISAM; Query OK, 0 rows affected (0.28 sec)ตรวจสอบสถานะตาราง: show tabl

  7. การใช้ GROUP BY และ MAX บนหลายคอลัมน์ใน MySQL

    มาสร้างตารางเพื่อทำความเข้าใจ GROUP BY และ MAX หลายคอลัมน์: create table GroupByMaxDemo ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, CategoryId int, Value1 int, Value2 int ); Query OK, 0 rows affected (0.68 sec)ตัวอย่างแทรกข้อมูล: insert into GroupByMaxDemo(CategoryId, Value1,Value2) values(20,180,

  8. วิธีหาความยาวเฉลี่ยของสตริงใน MySQL

    ใช้ฟังก์ชัน AVG(LENGTH()) เพื่อหาความยาวเฉลี่ย มาสร้างตาราง: create table AverageString ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Value varchar(20) ); Query OK, 0 rows affected (0.66 sec)แทรกข้อมูล: insert into AverageString(Value) values(SQL Server Query); Query OK, 1 row affected (0.17 sec)แสด

  9. เกิดอะไรขึ้นเมื่อแทรกค่าลบในคอลัมน์ UNSIGNED ใน MySQL

    จะเกิดข้อผิดพลาดเมื่อแทรกค่าลบลงในคอลัมน์ UNSIGNED ตัวอย่าง สร้างตารางด้วยฟิลด์ UNSIGNED: create table UnsignedDemo ( Id int UNSIGNED ); Query OK, 0 rows affected (0.79 sec)ข้อผิดพลาดเมื่อแทรกค่าลบ: INSERT INTO UnsignedDemo VALUES(-100); ERROR 1264 (22003): Out of range value for column Id at row 1ต

  10. การตั้งค่า MySQL ใน my.cnf ให้เหมาะสม

    เปิดไฟล์ my.cnf ก่อน คำสั่งหาตำแหน่ง config file บน Windows: select @@datadir;ผลลัพธ์+---------------------------------------------+ | @@datadir | +---------------------------------------------+ | C:\ProgramData\MySQL\MySQL Server 8.0\Data\ | +---------------------------------------------+ 1 row in

  11. COUNT(*) หรือ LIMIT อันไหนดีกว่าสำหรับเช็คว่าตารางว่างเปล่า

    ถ้าใช้ COUNT(*) รอบ LEAST() MySQL จะสแกน index อย่างน้อยหนึ่งดัชนี ดังนั้นหลีกเลี่ยง LEAST(COUNT(*)) และใช้ LIMIT แทนมาสร้างตาราง: create table ReturnDemo ( Id int, Name varchar(10) ); Query OK, 0 rows affected (0.79 sec)ตัวอย่างแทรกข้อมูล: insert into ReturnDemo values(102,Sam); Query OK, 1 row aff

  12. การสร้าง Checksum แบบรวมของคอลัมน์ใน MySQL

    ใช้ฟังก์ชัน CRC32 สำหรับ checksum ไวยากรณ์มีดังนี้:SELECT SUM(CRC32(yourColumnName)) AS anyAliasName FROM yourTableName;มาสร้างตาราง: create table CRC32Demo ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, UserId varchar(20) ); Query OK, 0 rows affected (0.67 sec)แทรกข้อมูล: insert into CRC32Demo(UserI

  13. การดึงข้อมูลที่มีค่าร่วมกันในคอลัมน์อื่นใน MySQL

    เพื่อดึงข้อมูลที่มีค่าร่วมกัน ใช้ INNER JOIN กับตารางเดียวกัน (self-join) ไวยากรณ์มีดังนี้:SELECT DISTINCT aliasName.yourColumnName1, aliasName.yourColumnName2, aliasName1.yourColumnName1, aliasName1.yourColumnName2 FROM yourTableName aliasName INNER JOIN yourTableName aliasName1 ON aliasName.yourCo

  14. ช่วงค่าของ MySQL DECIMAL(x,0) คือเท่าไหร่

    ช่วงค่าของชนิดข้อมูล DECIMAL ใหญ่กว่า INTEGER และ BIGINT BIGINT เก็บได้สูงสุด 18446744073709551615 แต่ DECIMAL สามารถเก็บ DECIMAL(65,0) ได้ โดย x แทนตัวเลข 9 จำนวน 65 หลัก DECIMAL เก็บตัวเลขในรูปแบบไบต์ สูตรคำนวณพื้นที่จัดเก็บ:StorageRequirementInBytes = (x/9) + remaining; WHERE remaining = round_up

  15. เขียน LIMIT ของ MySQL ใน SQL Server ยังไง

    ใน SQL Server ใช้ TOP(1) แทน LIMIT ไวยากรณ์มีดังนี้:SELECT TOP(1) * FROM yourTableName WHERE yourCondition;มาสร้างตาราง:create table TopDemoInSQLServer ( Id int, Name varchar(10) );แทรกข้อมูล:insert into TopDemoInSQLServer values(10,John); insert into TopDemoInSQLServer values(14,Carol); insert into

  16. การใช้ Wildcard ในชื่อคอลัมน์ของ MySQL

    เพื่อใช้ wildcard กับชื่อคอลัมน์ใน MySQL ให้เลือก column_name จาก INFORMATION_SCHEMA.COLUMNS แล้วใช้ LIKE operatorไวยากรณ์มีดังนี้:SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = yourTableName AND COLUMN_NAME LIKE yourWildCards%;มาสร้างตาราง: create table WildcardDemo ( Product

  17. การใช้งาน Database Connection แบบ Singleton ใน Java-MySQL

    ใช้ Singleton Design Pattern เพื่อให้มี connection object เพียงตัวเดียวตลอดแอปพลิเคชัน นี่คือโค้ด Java:ConnectDatabase.javaimport java.sql.Connection; import java.sql.DriverManager; public class ConnectDatabase { private static Connection conn = null; public static Connection getConnection() { if (c

  18. วิธีตั้งค่า MySQL ให้ใช้ MyISAM เป็นค่าเริ่มต้น

    เพื่อตั้งค่า storage engine เริ่มต้น ใช้ไวยากรณ์ดังนี้:set @@default_storage_engine = yourEngineType;นำไปใช้เพื่อตั้งค่า engine เริ่มต้นเป็น MyISAM: set @@default_storage_engine = MyISAM; Query OK, 0 rows affected (0.05 sec)ตรวจสอบ engine เริ่มต้น: select @@default_storage_engine;ผลลัพธ์แสดง engine

  19. วิธีใช้ LAG สำหรับคอลัมน์ใน MySQL

    เพื่อใช้ LAG กับคอลัมน์ใน MySQL เรามาสร้างตารางก่อน: create table LagDemo ( UserId int, UserValue int ); Query OK, 0 rows affected (1.74 sec)ตัวอย่างแทรกข้อมูล: insert into LagDemo values(85,546); Query OK, 1 row affected (0.56 sec)แสดงข้อมูลทั้งหมด: select * from LagDemo;ผลลัพธ์+--------+----------

Total 4564 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:135/229  20-คอมพิวเตอร์/Page Goto:1 129 130 131 132 133 134 135 136 137 138 139 140 141