VARCHAR (20) ustun turi va uzunligi 20 belgidan oshmasligi kerakligini bildiradi. Sana - "YYYY-MM-DD" formatida sana saqlash uchun mo'ljallangan ma'lumotlar turi.
Asosiy kalit
Ushbu so'rovni bajarishdan avval biz ustun qo'shishimiz kerak user_idbu asosiy kalit (PRIMARY KEY) bo'ladi. Tafsilotlargacha kirmasdan, siz asosiy kalitni jadvaldagi har bir qatordagi ma'lumotlarni bilishning bir usuli deb bilishingiz mumkin.
So'rov quyidagicha bo'ladi:
CREATE TABLE foydalanuvchilar (user_id INT AUTO_INCREMENT PRIMARY KEY, foydalanuvchi nomi VARCHAR (20), create_date DATE);
Int - 32 bitli tamsayı turi (soni). AUTO_INCREMENT ma'lumotlar qatorini har safar kiritganingizda avtomatik ravishda yangi identifikator raqamini yaratadi. Bu kerak emas, lekin bu qulayroq.
Ushbu ustun to'liq bo'lmasligi mumkin, garchi u eng keng tarqalgan ma'lumotlar turi bo'lsa. Asosiy kalit ustuni ixtiyoriydir, lekin uni ishlash va ma'lumotlar bazasi arxitekturasini yaxshilash uchun ishlatish tavsiya etiladi.
So'rovni bajaramiz:
KO'RSATISh TABLALARI: Barcha jadvallar ro'yxati
So'rov joriy ma'lumotlar bazasidagi barcha jadvallarning ro'yxatini olish imkonini beradi.
TUZAY: Jadval tuzilishini ko'rsating
Mavjud jadvalning tuzilishini ko'rish uchun ushbu so'rovdan foydalaning.
Natijada, joylar (ustunlar) va ularning xususiyatlari ko'rsatilgan.
DROP TABLE: Jadvalni o'chirish
Kabi DROP DATABASLARIUshbu so'rov jadvalni va tarkibini hech qanday ogohlantirishsiz o'chirib yuboradi.
ALTER TABLE: Jadvalni o'zgartiring
Bunday so'rov murakkab tuzilishga ega bo'lishi mumkin, chunki u jadvalga bir nechta o'zgartirishlar kiritishi mumkin. Keling, oddiy misollarni ko'rib chiqaylik.
O'qish imkoniyati tufayli SQLBu talabni tushuntirishga hojat yo'q.
Olib tashlash ham oson. So'rovni ehtiyotkorlik bilan foydalaning, ma'lumotlar ogohlantirishsiz o'chiriladi.
Joyni qayta kiriting elektron pochta, undan keyin yana kerak bo'ladi:
ALTER TABLE foydalanuvchilari Email qo'shish VARCHAR (100) KEYIN foydalanuvchi nomi;
Ba'zan siz ustun xususiyatlarini o'zgartirishingiz kerak bo'lishi mumkin, buning uchun siz uni yo'q qilishingiz va qayta yaratishingiz shart emas.
Ushbu spam maydonni o'zgartiradi foydalanuvchi nomi ichida user_name va uning turini o'zgartiradi VARCHAR (20) ochiq VARCHAR (30). Bunday o'zgarishlar jadvaldagi ma'lumotlarni ta'sir qilmaydi.
INSERT: Jadvalga ma'lumotlarni qo'shish
So'rovlarni jadvalga qo'shish orqali qo'shamiz.
Ko'rib turganingizdek VALUES () qiymatlari vergul bilan ajratilgan ro'yxatini o'z ichiga oladi. Satrlari qiymatlari bitta tirnoqlarga qo'shiladi. Qadriyatlar jadvalni yaratishda berilgan buyurtmani bajarishi kerak.
Birinchi qiymatning ekanligini unutmang Null biz olgan soha uchun asosiy kalit uchun user_id. Hammasi joy sifatida belgilanadi AUTO_INCREMENT va id avtomatik ravishda yaratiladi. Ma'lumotlarning birinchi satrida 1 id mavjud. Keyingi liniya 2 va boshqalar.
Muqobil sintaksisi
Satrlarni kiritish uchun yana bir sintaksis.
Bu safar biz kalit so'zdan foydalanganmiz MODE o'rniga VALUES. Bir nechta narsani eslang:
Ustun chiqarib tashlanishi mumkin. Misol uchun, biz maydonga qiymat bermadik. user_idchunki u belgilanadi AUTO_INCREMENT. Agar siz turi bilan maydonga qiymat tayinlasangiz Varchar, keyin sukut bo'yicha bo'sh satr qiymatini oladi (jadval yaratilganda boshqa standart qiymat belgilanmagan).
Har bir ustunga ismingiz orqali kirish mumkin. Shuning uchun, joylar avvalgi sintaksisdan farqli o'laroq har qanday tartibda o'tishi mumkin.
Shu bilan bir qatorda sintaksisi raqami 2
Mana bir misol.
Ilgari bo'lgani kabi, maydonlarga nomlar orqali kirish mumkin, ular har qanday tartibda o'tishlari mumkin.
Ushbu so'rovni oxirgi kiritilgan qatorning identifikatorini olish uchun foydalaning.
NOW ()
Funksiyalardan qanday foydalanishni ko'rsatishning vaqti keldi. Mysql so'rovlarda.
Funktsiyasi NOW () joriy sanasi qaytaradi. Mavjud tarixni maydonga avtomatik ravishda kiritish uchun uni ishlatish Sana.
Esda tuting, bizdan ogohlantirish oldik Mysqlammo bu juda muhim emas. Sababi shundaki, bu funktsiya NOW () aslida vaqt ma'lumotlarini qaytaradi.
Biz maydon yaratdik create_datefaqat tarixni o'z ichiga olishi mumkin, lekin vaqt emas, shuning uchun ma'lumotlar qisqartirildi. Buning o'rniga NOW () foydalanishimiz mumkin CURDATE ()faqat hozirgi tarixni qaytaradi, lekin natijada natija bir xil bo'ladi.
SELECT: Jadvaldagi ma'lumotlarni oling
Shubhasiz, biz yozgan ma'lumotlar ularni o'qib bo'lmaguncha foydasiz. Yordam qutqarish uchun keladi SELECT.
So'rovni ishlatishning eng oddiy misoli SELECT jadvaldagi ma'lumotlarni o'qish uchun:
Yulduzcha (*), jadvaldagi barcha ustunlarni olishni anglatadi. Agar siz faqat muayyan ustunlarni olishni istasangiz, mana bu narsa:
Ko'pincha biz faqat aniq satrlarni olishni istaymiz, hammasi emas. Misol uchun, foydalanuvchi elektron pochta manzilini olamiz nettuts.
IF shartiga o'xshash. WHERE qaerda so'rovda shartni o'rnatish va kerakli natijani olish imkonini beradi.
Tenglik holatida bitta dasturiy belgida (=) foydalaniladi va dasturda ishlatishingiz mumkin bo'lmagan juft (==) emas.
Siz boshqa shartlarni ham ishlatishingiz mumkin: