หน้าแรก
หน้าแรก
วัตถุข้อมูล TEXT มีประโยชน์สำหรับการจัดเก็บสตริงข้อความแบบยาวในฐานข้อมูล MySQL ต่อไปนี้เป็นบางประเด็นเกี่ยวกับประเภทข้อมูล TEXT - TEXT คือกลุ่มของประเภทคอลัมน์ที่มีจุดประสงค์เพื่อจัดเก็บอักขระที่มีความจุสูง ประเภทคอลัมน์ TEXT จริงมีสี่ประเภท ได้แก่ TINYTEXT, TEXT, MEDIUMTEXT และ LONGTEXT TEXT สี่ปร
อย่างที่เราทราบดีว่าวัตถุข้อมูล TEXT มีประโยชน์สำหรับการจัดเก็บสตริงข้อความรูปแบบยาว ออบเจ็กต์ TEXT ต่างๆ มีพื้นที่จัดเก็บตั้งแต่ 255 ไบต์ถึง 4 Gb ตารางต่อไปนี้แสดงการจัดเก็บข้อมูล TEXT ชนิดต่างๆ - ประเภทของ BLOB จำนวนข้อมูลสูงสุดที่สามารถจัดเก็บได้ ค่าโสหุ้ย TINYTEXT สูงสุด 255 ไบต์ 1
โดยทั่วไป ฟังก์ชัน MySQL CONCAT_WS() ใช้เพื่อเชื่อมสตริงตั้งแต่สองสตริงขึ้นไปพร้อมกับตัวคั่น ในที่นี้ คีย์เวิร์ด WS ใน CONCAT_WS() หมายถึง WITH SEPARATOR เราสามารถออกเสียงฟังก์ชัน CONCAT_WS() เป็นฟังก์ชันต่อด้วยตัวคั่นได้ ไวยากรณ์ CONCAT_WS(Separator, String1,String2,…,StringN) ในที่นี้ อา
ทั้งฟังก์ชัน CONCAT() และ CONCAT_WS() ใช้เพื่อเชื่อมสตริงตั้งแต่สองสตริงขึ้นไป แต่ความแตกต่างพื้นฐานระหว่างพวกเขาคือฟังก์ชัน CONCAT_WS() สามารถทำการต่อพร้อมกับตัวคั่นระหว่างสตริง ในขณะที่ฟังก์ชัน CONCAT() ไม่มีแนวคิด ของตัวคั่น ความแตกต่างที่มีนัยสำคัญอื่น ๆ ระหว่างพวกเขาคือฟังก์ชัน CONCAT() ส่งคืนค
ด้วยความช่วยเหลือของคำสั่งต่อไปนี้ เราสามารถบังคับให้ MySQL ออกจากโหมด TRADITIONAL - mysql> Set SQL_MODE =''; Query OK, 0 rows affected (0.00 sec)
ฟังก์ชัน Last_Insert_Id() MySQL ถูกใช้เพื่อค้นหาว่า AUTO_INCREMENT ได้กำหนดหมายเลขลำดับใดเมื่อเร็วๆ นี้ ตัวอย่าง mysql> Create table Employee(Id INT PRIMARY KEY NOT NULL AUTO_INCREMENT, Name Varchar(5)); Query OK, 0 rows affected (0.13 sec) mysql> Insert into Employee(Name) Values('Harvin
BLOB เป็นอ็อบเจ็กต์ขนาดใหญ่แบบไบนารีที่สามารถเก็บข้อมูลจำนวนตัวแปรได้ ต่อไปนี้เป็นบางประเด็นเกี่ยวกับประเภทข้อมูล BLOB - BLOB เป็นตระกูลของประเภทคอลัมน์ที่มีจุดประสงค์เพื่อใช้เป็นหน่วยเก็บข้อมูลไบนารีความจุสูง ประเภทคอลัมน์ BLOB จริงมีสี่ประเภท ได้แก่ TINYBLOB, BLOB, MEDIUMBLOB และ LONGBLOB BLOB สี
เมื่อใช้ฟังก์ชันสตริง BIN() กับส่วนคำสั่ง WHERE ผลลัพธ์ที่ได้จะขึ้นอยู่กับเงื่อนไขที่ระบุในอนุประโยค WHERE ในกรณีนี้ เราต้องใช้ค่าไบนารีในอนุประโยค WHERE ตัวอย่างเช่น สมมติว่าเรามีตารางชื่อ Student และเราต้องการได้เฉพาะแถวที่มีค่าไบนารีของคอลัมน์ id มากกว่า 1,010 จากนั้นเราสามารถเขียนข้อความค้นหาต่อ
ฟังก์ชันสตริง MySQL BIT_LENGTH() ใช้เพื่อรับความยาวของสตริงเป็นบิต ไวยากรณ์ BIT_LENGTH(Str) ในที่นี้ Str อาร์กิวเมนต์ของฟังก์ชัน BIT_LENGTH() คือสตริงที่ต้องการดึงค่า BIT_LENGTH Str สามารถเป็นสตริงอักขระหรือสตริงตัวเลข หากเป็นสตริงอักขระ จะต้องอยู่ในเครื่องหมายคำพูด ตัวอย่าง mysql> Select BIT_LE
เมื่อใช้ฟังก์ชัน BIT_LENGTH() กับคอลัมน์/วินาทีของตาราง MySQL จะคืนค่าจำนวนบิตของสตริงที่เก็บไว้ในคอลัมน์/วินาทีของตาราง ตัวอย่างต่อไปนี้จะแสดงให้เห็น ตัวอย่าง สมมติว่าจากตาราง นักเรียน เราต้องการค้นหาความยาวของสตริงที่เก็บไว้ในคอลัมน์ ชื่อ และ ที่อยู่ จากนั้นเราสามารถเขียนข้อความค้นหาต่อไปนี้ - my
เมื่อใดก็ตามที่เราต้องการส่งสตริงว่างเป็นพารามิเตอร์ไปยังฟังก์ชัน BIT_LENGTH() เราจะต้องส่งเครื่องหมายคำพูดเปล่า (แม้จะไม่มีช่องว่างก็ตาม) ไม่สามารถผ่านโดยไม่มีเครื่องหมายอัญประกาศได้เนื่องจาก MySQL มีลักษณะคล้ายกับเป็นฟังก์ชันโดยไม่มีอาร์กิวเมนต์และส่งคืนข้อผิดพลาด แต่เมื่อเราส่งสตริงว่างด้วยเครื่อ
ฟังก์ชันสตริงที่เรียกว่า CONCAT() ใช้เพื่อเชื่อมสตริงตั้งแต่สองสตริงขึ้นไปเป็นสตริงเดียวใน MySQL ไวยากรณ์ CONCAT(String1,String2,…,StringN) ในที่นี้ อาร์กิวเมนต์ของฟังก์ชัน CONCAT คือสตริงที่ต้องต่อเป็นสตริงเดียว ตัวอย่าง mysql> Select CONCAT('Ram','is','a','go
MySQL ช่วยให้เราส่งอาร์กิวเมนต์ไปยังฟังก์ชัน CONCAT() ได้เพียงอาร์กิวเมนต์เดียว ในกรณีนี้ MySQL จะส่งคืนอาร์กิวเมนต์เดียวกันกับเอาต์พุต ตัวอย่างต่อไปนี้จะแสดงให้เห็น - ตัวอย่าง mysql> Select Concat('Delhi'); +-----------------+ | Concat('Delhi') | +-----------------+ | Delhi  
เราสามารถใช้ฟังก์ชัน CONCAT() เพื่อรวมค่าของสองคอลัมน์ขึ้นไป ในกรณีนี้ อาร์กิวเมนต์ของฟังก์ชัน CONCAT() จะเป็นชื่อของคอลัมน์ ตัวอย่างเช่น สมมติว่าเรามีตารางชื่อ นักเรียน และเราต้องการชื่อและที่อยู่ของนักเรียนรวมกันในคอลัมน์เดียว จึงสามารถเขียนข้อความค้นหาต่อไปนี้ได้ - mysql> Select Id, Name, Addr
สิ่งนี้สามารถเข้าใจได้ด้วยความช่วยเหลือของตัวอย่างที่มีการแทรกค่า NULL ในคอลัมน์ AUTO_INCREMENT และ MySQL ส่งมอบหมายเลขลำดับใหม่ mysql> Create table employeeinfo(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, Name Varchar(10)); Query OK, 0 rows affected (0.16 sec) mysql> Insert into employeeinfo
การจัดการค่าตัวเลข MySQL ซึ่งอยู่นอกช่วงที่อนุญาตของประเภทข้อมูลคอลัมน์ขึ้นอยู่กับโหมด SQL ด้วยวิธีต่อไปนี้ - (A) เปิดใช้งานโหมดเข้มงวดของ SQL - เมื่อเปิดใช้งานโหมด SQL ที่เข้มงวด MySQL จะส่งกลับข้อผิดพลาดในการป้อนค่า put-of-range ในกรณีนี้ การแทรกค่าบางส่วนหรือทั้งหมดล้มเหลว ตัวอย่างเช่น เราได้ส
ดังที่เราทราบดีว่า MySQL จะทำให้เกิดข้อผิดพลาดหากล้นระหว่างการประเมินนิพจน์ตัวเลข ตัวอย่างเช่น BIGNT ที่มีลายเซ็นที่ใหญ่ที่สุดคือ 9223372036854775807 ดังนั้นนิพจน์ต่อไปนี้จะทำให้เกิดข้อผิดพลาด - mysql> Select 9223372036854775807 + 1; ERROR 1690 (22003): BIGINT value is out of range in '(92233
ใน MySQL จะใช้ฟังก์ชัน BIN() เพื่อรับการแสดงสตริงที่สอดคล้องกันของค่าไบนารีของตัวเลข โดยจะถือว่าตัวเลขนั้นเป็นตัวเลขทศนิยม ไวยากรณ์ BIN(value) ค่านี้ หมายเลข BIGINT คือตัวเลขที่ต้องการดึงค่าไบนารี ตัวอย่าง mysql> Select BIN(15); +---------+ | BIN(15) | +---------+ | 1111 | +---------+ 1 ro
ทั้งสองฟังก์ชันเป็นฟังก์ชันสตริงและส่งคืนจำนวนอักขระที่มีอยู่ในสตริง แต่พวกเขาต่างกันในแนวคิดที่ว่าฟังก์ชัน CHAR_LENGTH() จะวัดความยาวของสตริงใน อักขระ ในขณะที่ฟังก์ชัน LENGTH() จะวัดความยาวของสตริงเป็น ไบต์ กล่าวอีกนัยหนึ่ง เราสามารถพูดได้ว่าฟังก์ชัน CHAR_LENGTH() มีความปลอดภัยแบบหลายไบต์ กล่าวคือ
ในกรณีนี้ ผลลัพธ์ของฟังก์ชัน CHAR_LENGTH() จะขึ้นอยู่กับเงื่อนไขว่าไม่ว่าเราจะระบุ NULL เป็นสตริงหรือระบุเพียงแค่ NULL ให้กับฟังก์ชันนั้น ตัวอย่างต่อไปนี้จะแสดงให้เห็นความแตกต่าง - mysql> Select CHAR_LENGTH(NULL); +-------------------+ | CHAR_LENGTH(NULL) | +-------------------+ | NULL &nb