หน้าแรก
หน้าแรก
เราสามารถเก็บวันที่ที่มีค่าปีเท่านั้นและมีศูนย์เดือนและศูนย์วันในตาราง MySQL โดยการปิดใช้งานโหมด NO_ZERO_IN_DATE หากเปิดใช้งานโหมดนี้ MySQL จะนับวันที่ประเภทดังกล่าวเป็นวันที่ที่ไม่ถูกต้องและเก็บค่าศูนย์ทั้งหมดไว้ mysql> Insert into year_testing (OrderDate) values('2017:00:00'); Query OK,
ด้วยความช่วยเหลือของฟังก์ชัน CURDATE() และ NOW() เราสามารถแทรกวันที่ปัจจุบันโดยอัตโนมัติในคอลัมน์ของตาราง MySQL ตัวอย่าง สมมติว่าเราต้องการแทรกวันที่ปัจจุบันโดยอัตโนมัติในคอลัมน์ OrderDate ของตาราง year_testing แบบสอบถามต่อไปนี้จะทำสิ่งนี้ - mysql> Insert into year_testing (OrderDate) Values(CUR
ภาษา SQL แบ่งออกเป็นสี่ประเภทของคำสั่งภาษาหลัก:DML, DDL, DCL และ TCL การใช้คำสั่งเหล่านี้ เราสามารถกำหนดโครงสร้างของฐานข้อมูลโดยการสร้างและแก้ไขวัตถุฐานข้อมูล และเราสามารถจัดการข้อมูลในตารางผ่านการอัพเดทหรือการลบ เรายังควบคุมได้ว่าผู้ใช้รายใดสามารถอ่าน/เขียนข้อมูล หรือจัดการธุรกรรมเพื่อสร้างงานชิ้นเ
มีฐานข้อมูลชื่อ test ในรายการฐานข้อมูลที่แสดงโดยคำสั่ง SHOW DATABASES. เราสามารถใช้ฐานข้อมูลทดสอบได้ แต่ข้อเสียเปรียบหลักคือ สิ่งใดก็ตามที่สร้างในฐานข้อมูลนี้สามารถลบ/เปลี่ยนแปลงได้โดยบุคคลอื่นที่มีสิทธิ์เข้าถึง เพื่อหลีกเลี่ยงปัญหานี้ เราควรได้รับอนุญาตจากผู้ดูแลระบบ MySQL เพื่อใช้ฐานข้อมูลของเราเอ
ตัวดำเนินการเปรียบเทียบระหว่างวันที่จะทำงานในลักษณะตรรกะ ในตัวอย่างต่อไปนี้ ขณะเปรียบเทียบสองวันที่ MySQL เป็นเพียงการเปรียบเทียบตัวเลขหรือสตริงสองตัว − mysql> select 20171027 < 20150825; +---------------------------+ | 20171027 < 20150825 | +---------------------------
การคำนวณประเภทนี้อาจทำให้เกิดผลลัพธ์ที่คาดเดาไม่ได้เพราะเมื่อวันที่แสดงเป็นสตริง MySQL แล้ว MySQL จะพยายามดำเนินการตัวเลขบนสตริงโดยใช้เพียงค่าแรกที่ปรากฏขึ้น ตัวอย่างต่อไปนี้จะชี้แจงมัน - mysql> select '2017-10-17' + 20; +-------------------+ | '2017-10-17' + 20 | +---------------
สมมุติว่าเรากำลังใช้ฐานข้อมูลแบบฝึกสอน ดังนั้นมันจึงเป็นฐานข้อมูลเริ่มต้นของ MySQL สำหรับการสืบค้นในภายหลัง ตอนนี้ ด้วยความช่วยเหลือของ ใช้ db_name คำสั่ง เราสามารถเปลี่ยนฐานข้อมูลเริ่มต้นเป็นแบบสอบถามอื่น ๆ ที่ตามมาของฐานข้อมูลที่กำหนดได้ mysql> USE Sample Database changed ฐานข้อมูลถูกเปลี่ยนเป
เราสามารถแสดงชื่อฐานข้อมูล MySQL ที่กำลังใช้งานอยู่โดย Select Database() คำสั่ง mysql> select database(); +------------+ | database() | +------------+ | tutorial | +------------+ 1 row in set (0.00 sec) คำสั่งนี้แสดงว่าขณะนี้เราใช้ บทช่วยสอน ฐานข้อมูล
ด้วยความช่วยเหลือของ สร้างฐานข้อมูล db-name คำสั่ง เราสามารถตรวจสอบคำสั่งสร้างฐานข้อมูล MySQL ใดๆ ก็ได้ mysql> SHOW CREATE DATABASE Sample; +----------+-------------------------------------------------------------------+ | Database | Create Database  
เมื่อเราพยายามดำเนินการดังกล่าวด้วยค่าวันที่ที่เก็บไว้ในตาราง MySQL จะถือว่าค่าวันที่เป็นตัวเลขและดำเนินการคำนวณ สมมติว่าเรามีตารางชื่อ ตัวอย่าง ที่มีค่าวันที่ในคอลัมน์ วันที่สั่งซื้อ จากนั้นการดำเนินการทางคณิตศาสตร์จะชี้แจงข้างต้น - mysql> select * from example; +------------+ | orderdate  
MySQL สามารถดำเนินการคำนวณวันที่ด้วยตัวดำเนินการการบวกและการลบโดยการเพิ่มคำหลัก INTERVAL ด้วยหน่วยของเวลา วันที่ หรือวันที่และเวลา ตัวอย่างที่ 1 เพิ่ม 2 วันไปยังวันที่เฉพาะ mysql> Select '2017-05-20' + INTERVAL 2 day; +-------------------------------+ | '2017-05-20' + INTERVAL 2
อย่างที่เราทราบดีว่าฐานข้อมูล MySQL เริ่มต้นจะเป็นฐานข้อมูลที่ใช้สำหรับการสืบค้นในภายหลัง เราสามารถรับรายการตารางในฐานข้อมูลนั้นโดยใช้ SHOW TABLES คำสั่ง mysql> SHOW TABLES; +------------------+ | Tables_in_sample | +------------------+ | employee | | new_student | | student
คำสั่งต่อไปนี้แสดงรายการของสองตารางที่มีคอลัมน์ อีเมล ในฐานข้อมูลตัวอย่าง - mysql> SELECT DISTINCT TABLE_NAME -> FROM INFORMATION_SCHEMA.COLUMNS -> WHERE COLUMN_NAME IN('EMAIL') -> AND TABLE_SCHEMA = 'SAMPLE'; +---------------+ |
สำหรับการจัดเก็บวันที่เช่น 0000-00-00 ในคอลัมน์ของตาราง MySQL เราต้องตั้งค่าโหมด SQL เป็น allow_invalid_date ตัวอย่างต่อไปนี้จะแสดงให้เห็น - mysql> SET sql_mode = 'allow_invalid_dates'; Query OK, 0 rows affected, 1 warning (0.03 sec) mysql> Create table test_date(date_order date); Que
CREATE DATABASE db_name สามารถใช้เพื่อสร้างฐานข้อมูล MySQL ทางเลือกของเราเอง ตัวอย่างเช่น การสร้างฐานข้อมูลชื่อ Sample เราควรรันคำสั่งดังนี้ − mysql> CREATE DATABASE Sample; Query OK, 1 row affected (0.04 sec)
ฟังก์ชัน UNIX_TIMESTAMP ให้เอาต์พุตเป็นวินาที กล่าวคือ ฟังก์ชันนี้จะแปลงค่าวันที่หรือวันที่และเวลาที่ระบุเป็นจำนวนวินาทีทั้งหมด ตัวอย่างเช่น วันที่ 1970-05-15 05:04:30 จะถูกแปลงเป็น 11576070 วินาทีทั้งหมดโดยใช้ฟังก์ชัน UNIX_TIMESTAMP mysql> select UNIX_TIMESTAMP('1970-05-15 05:04:30'); +
แสดงฐานข้อมูล คำสั่งใช้เพื่อแสดงรายการฐานข้อมูล MySQL ที่มีอยู่ในปัจจุบัน mysql> Show Databases; +-----------------------------+ | Database | +-----------------------------+ | information_schema &nbs
ที่จริงแล้ว ความละเอียดอ่อนของตัวพิมพ์ของฐานข้อมูลและชื่อตารางนั้นขึ้นอยู่กับความไวของตัวพิมพ์ของระบบปฏิบัติการพื้นฐานเป็นอย่างมาก ดังนั้น เราสามารถพูดได้ว่าชื่อดังกล่าวไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ใน Windows แต่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ใน Unix ส่วนใหญ่
ฐานข้อมูลถูกสร้างขึ้นเพียงครั้งเดียว แต่จำเป็นต้องเลือกทุกครั้งที่เราเริ่ม MySQL การประชุม. สามารถทำได้ด้วยความช่วยเหลือของ ใช้ db_name คำสั่งเกี่ยวกับเครื่องมือบรรทัดคำสั่ง MySQL mysql> Use Query; Database changed แสดงว่าเรากำลังใช้ query ฐานข้อมูล นอกจากนี้เรายังสามารถเลือกฐานข้อมูลในขณะที่เ
ดังที่เราทราบดีว่าด้วยความช่วยเหลือของฟังก์ชัน MySQL UNIX_TIMESTAMP เราจึงสามารถสร้างจำนวนวินาทีจากวันที่/วันที่และเวลาที่กำหนดได้ แต่เมื่อเราพยายามแปลงวันที่เช่น 1965-05-15 มันจะให้ 0(ศูนย์) เป็นเอาต์พุตเนื่องจากช่วงของ TIMESTAMP อยู่ระหว่าง 1970-01-01 00:00:01 ถึง 2038-01- 19 08:44:07. ดังนั้น ค่า