หน้าแรก
หน้าแรก
หากต้องการทราบรายละเอียดเพิ่มเติมเกี่ยวกับคอลัมน์ของตารางที่มีอยู่ เราจำเป็นต้องใช้คำสั่ง SHOW FULL COLUMNS พิจารณาตัวอย่างด้านล่างซึ่งมีการใช้คำสั่ง SHOW FULL COLUMNS ในตาราง Employee และ MySQL ส่งคืนชุดผลลัพธ์พร้อมรายละเอียดเพิ่มเติมบางอย่าง เช่น Collation, Privileges และ Comment เกี่ยวกับคอลัมน์ข
เราสามารถดูคำสั่ง create table ของตารางที่มีอยู่ได้โดยใช้แบบสอบถาม SHOW CREATE TABLE ไวยากรณ์ SHOW CREATE TABLE table_name; ตัวอย่าง mysql> Show create table employee\G *************************** 1. row *************************** Table: employee Create Table: CREATE TABLE `employee` ( &n
เมื่อเรารันคำสั่ง INSERT INTO โดยไม่ได้ระบุชื่อและค่าของคอลัมน์ทั้งสอง MySQL จะเก็บค่า NULL เป็นค่าของคอลัมน์/s ของตาราง พิจารณาตัวอย่างด้านล่างที่เราได้สร้างตาราง นักเรียน ด้วยแบบสอบถามต่อไปนี้ - mysql> Create table Student(RollNO INT, Name Varchar(20), Class Varchar(15)); Query OK, 0 rows affec
MySQL อนุญาตให้ประกาศประเภทคอลัมน์ YEAR ซึ่งเราสามารถเก็บค่าปีไว้ในคอลัมน์นั้นได้ mysql> Create table year1 (Year_Copyright YEAR); Query OK, 0 rows affected (0.21 sec) mysql> Insert into year1(Year_Copyright) values (2017); Query OK, 1 row affected (0.08 sec) mysql> Select * from year1; +
สามารถทำได้โดยใช้ CURDATE() หรือ NOW() ในการสืบค้น MySQL ดังนี้ - mysql> Insert into year1(Year_Copyright) values (CURDATE()); Query OK, 1 row affected, 1 warning (0.06 sec) mysql> Select * from year1; +----------------+ | Year_Copyright | +----------------+ | &nbs
ไม่ MySQL ไม่มีมาตรฐานแบบแผนการตั้งชื่อที่ต้องการ หากชื่อที่เราเลือกนั้นสมเหตุสมผลและสม่ำเสมอก็ไม่เป็นไร ประเด็นสำคัญสองประการที่ต้องจำไว้ ประการแรกคือไม่มีนิทาน/ฐานข้อมูลสองเรื่องที่มีชื่อเดียวกัน และประการที่สอง เราสามารถเลือกคำสงวนใดๆ เป็นชื่อของตาราง/ฐานข้อมูลได้
คำสั่ง CREATE คือคำสั่ง DDL ที่ใช้สร้างตารางหรือฐานข้อมูล ไวยากรณ์สำหรับสร้างตารางและฐานข้อมูลด้วยคำสั่ง CREATE มีดังนี้ - ไวยากรณ์สำหรับการสร้างฐานข้อมูล − Create database database-name; ตัวอย่าง mysql> Create database query; Query OK, 1 row affected (0.04 sec) ในตัวอย่างข้างต้น เราได้สร้างฐาน
ด้วยความช่วยเหลือของ CTAS เช่นสคริปต์ สร้างตาราง AS Select เราสามารถสร้างตารางจากตารางที่มีอยู่ได้ จะคัดลอกโครงสร้างตารางรวมทั้งข้อมูลจากตารางที่มีอยู่ พิจารณาตัวอย่างต่อไปนี้ที่เราได้สร้างตารางชื่อ EMP_BACKUP จากตารางที่มีอยู่แล้วชื่อ พนักงาน - mysql> Select * from Employee; +------+--------+ |
ด้วยความช่วยเหลือของแบบสอบถาม MySQL ต่อไปนี้ เราจะได้วันแรกของเดือนปัจจุบัน - mysql> SELECT DATE_SUB(LAST_DAY(NOW()),INTERVAL DAY(LAST_DAY(NOW()))- 1 DAY) AS 'FIRST DAY OF CURRENT MONTH'; +----------------------------+ | FIRST DAY OF CURRENT MONTH | +----------------------------+ | 2017-1
ด้วยความช่วยเหลือของแบบสอบถาม MySQL ต่อไปนี้ เราจะได้วันแรกของเดือนก่อนหน้า - mysql> SELECT DATE_FORMAT(CURDATE() - INTERVAL 1 MONTH,'%Y-%m-01') AS 'FIRST DAY OF PREVOIUS MONTH'; +-----------------------------+ | FIRST DAY OF PREVOIUS MONTH | +-----------------------------+ | 2017
ด้วยความช่วยเหลือของแบบสอบถาม MySQL ต่อไปนี้ เราจะได้วันแรกของเดือนหน้า - mysql> SELECT DATE_FORMAT(CURDATE() + INTERVAL 1 MONTH,'%Y-%m-01') AS 'FIRST DAY OF NEXT MONTH'; +-------------------------+ | FIRST DAY OF NEXT MONTH | +-------------------------+ | 2017-11-01
ด้วยความช่วยเหลือของแบบสอบถาม MySQL ต่อไปนี้ เราจะได้วันสุดท้ายของเดือนปัจจุบัน - mysql> SELECT LAST_DAY(now()) AS 'LAST DAY OF CURRENT MONTH'; +---------------------------+ | LAST DAY OF CURRENT MONTH | +---------------------------+ | 2017-10-31
อย่างที่เราทราบดีว่าเราสามารถคัดลอกข้อมูลและโครงสร้างจากตารางที่มีอยู่โดยใช้สคริปต์ CTAS หากเราต้องการเลือกคอลัมน์เฉพาะจากตารางอื่น เราต้องพูดถึงคอลัมน์เหล่านั้นหลังจาก SELECT พิจารณาตัวอย่างต่อไปนี้ที่เราได้สร้างตารางชื่อ EMP_BACKUP1 โดยการเลือกคอลัมน์เฉพาะ ชื่อ จากตารางที่มีอยู่แล้ว พนักงาน - mysq
ตามชื่อที่แนะนำ ฟังก์ชัน CURDATE() จะคืนค่าวันที่ปัจจุบัน พูดง่ายๆ ก็คือ จะส่งกลับเฉพาะวันที่ ไม่ใช่เวลา mysql> select CURDATE(); +------------+ | CURDATE() | +------------+ | 2017-10-28 | +------------+ 1 row in set (0.00 sec) ในทางกลับกัน ฟังก์ชัน NOW() จะคืนค่าวันที่และเวลาปัจจุบัน mysq
เราสามารถตรวจสอบขนาดของฐานข้อมูล MySQL ทั้งหมดโดยใช้คำสั่งต่อไปนี้ mysql> SELECT table_schema "Database", -> SUM(data_length + index_length)/1024/1024 "Size in MB" -> FROM information_schema.TABLES GROUP BY table_schema; +--------------------+----------------+ | Databas
อันที่จริง พฤติกรรมของ MySQL ขึ้นอยู่กับ allow_invalid_dates โหมด. หากเปิดใช้งานโหมดนี้ MySQL จะยอมรับวันที่ที่ไม่ถูกต้อง และจะคำนวณวันที่ตามวันที่ที่ถูกต้อง มิฉะนั้น หากโหมดนี้ไม่ได้ใช้งาน ระบบจะไม่ยอมรับวันที่ที่ไม่ถูกต้องและจะสร้างค่า NULL เป็นเอาต์พุต mysql> select 2017-02-30 + INTERVAL 7 da
เนื่องจากเราได้ตรวจสอบขนาดของฐานข้อมูล MySQL แล้ว เราจึงสามารถตรวจสอบขนาดของตารางในฐานข้อมูลเฉพาะได้เช่นเดียวกัน สามารถทำได้ดังนี้ − mysql> SELECT -> table_name AS "Table", -> round(((data_length + index_length) / 1024 / 1024), 2) as SIZE
คำหลัก INTERVAL ที่มีฟังก์ชัน NOW() และ CURDATE() MySQL สามารถใช้ในลักษณะที่คล้ายกัน เนื่องจากสามารถใช้กับหน่วยเวลา วันที่ หรือวันที่และเวลาของค่าวันที่ ตัวอย่าง การใช้ INTERVAL กับ MySQL NOW() mysql> Select NOW() + INTERVAL 2 day; +------------------------+ | NOW() + INTERVAL 2 day | +---------
ดังที่เราทราบดีว่า CURDATE() จะคืนค่าเฉพาะหน่วยวันที่ ดังนั้นการใช้ INTERVAL ของหน่วยเวลากับ CURDATE() จึงอาจไม่ชัดเจน MySQL จะแสดงวันที่ปัจจุบันด้วยเวลา 00:00:00 เสมอ ดังนั้นเมื่อเราใช้ INTERVAL ของหน่วยเวลากับ CURDATE() การคำนวณเวลาประเภทนี้จะพิจารณาเวลานี้ ตัวอย่างต่อไปนี้จะชี้แจงมัน - mysql>
อันที่จริงไม่มีฐานข้อมูลเริ่มต้นสำหรับผู้ใช้ แต่เรามีฐานข้อมูลเริ่มต้นสำหรับเซสชันปัจจุบัน สามารถดูได้จากแบบสอบถามต่อไปนี้ − mysql> Select Database(); +------------+ | Database() | +------------+ | sample | +------------+ 1 row in set (0.00 sec) ชุดผลลัพธ์ข้างต้นแสดงว่าเรากำลังใช้ฐ