মাইএসকিউএল(MySQL) হচ্ছে একটা ওপেন সোর্স রিলেশনাল ডাটাবেজ ম্যানেজমেন্ট সিস্টেম। নামের প্রথম অংশ "My" এর নামকরণ করা হয়েছে কো-ফাউন্ডার Michael Widenius মেয়ের নামে, আর SQL মানে হচ্ছে Structured Query Language
প্রথমে উবুন্টু সিস্টেম আপডেট করুন
sudo apt updateMySQL ইন্সটল করুন
sudo apt install mysql-serverMySQL সিকিউরিটি ইন্সটল করুন
sudo mysql_secure_installationMySQL এর root ইউজারে অ্যাক্সেস করতে
mysql -u root -p <your password>বর্তমানে কি কি ডাটাবেজ আছে তা দেখতে
SHOW DATABASES;ডাটাবেজ তৈরি করার জন্য
CREATE DATABASE dbname;নতুন তৈরি করা ডাটাবেজ নিয়ে কাজ করার জন্য
USE dbname;কোন স্পেসিফিক ডাটাবেজের টেবিল সমূহের লিস্ট দেখতে
SHOW TABLES;টেবিল তৈরি করার জন্য
CREATE TABLE tableName;এই নামে কোন টেবিল আছে কিনা চেক করে নতুন টেবিল তৈরি করা
CREATE TABLE IF NOT EXISTS tableName;কোন টেবিল ডিলেট করতে
DROP TABLE IF EXIST tableName;ডাটাবেজ ডিলেট করতে
DROP DATABASE IF EXIST dbname;ASCIIORDCONVBINOCTHEXCHARCONCATCONCAT_WSLENGTHCHAR_LENGTHBIT_LENGTHLOCATEINSTRLPADRPADLEFTRIGHTSUBSTRINGMIDSUBSTRING_INDEXLTRIMRTRIMTRIMSOUNDEXSPACEREPLACEREPEATREVERSEINSERTELTFIELDLCASEUCASELOAD_FILEQUOTE`mysql_secure_installation` প্রসেস সম্পন্ন করার পর, এর root ইউজারে অ্যাক্সেস করতে
mysql -u root -p <your password>যদি `mysql_secure_installation` প্রসেস সম্পন্ন না করা হয়, তাহলে `root` ইউজারে এক্সেস পেতে
sudo mysqlবর্তমান ইউজার ও এডমিনদের তথ্য তালিকা হিসেবে দেখতে
SELECT user,authentication_string,plugin,host FROM mysql.user;ডিফল্ট এডমিন `root` এর পাসওয়ার্ড চেঞ্জ করতে
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';নতুন ইউজার তৈরী করতে
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'new_user_password';`new_user` কে নতুন এডমিন তৈরী করতে (সব পারমিশন দিয়ে)
GRANT ALL PRIVILEGES ON * . * TO 'new_user'@'localhost';ইউজারকে বিশেষ পারমিশন দিতে
GRANT type_of_permission ON database_name.table_name TO 'username'@'localhost';ইউজার থেকে বিশেষ পারমিশন তুলে নিতে
REVOKE type_of_permission ON database_name.table_name FROM 'username'@'localhost';একজন ইউজারের বর্তমান পারমিশন গুলো দেখতে
SHOW GRANTS FOR 'username'@'localhost';কোন ইউজারকে ডিলেট করতে
DROP USER 'username'@'localhost';সেটিংস গুলো তৎক্ষণাৎ প্রয়োগ করতে
FLUSH PRIVILEGES;স্ট্রিং(০ - ২৫৫)
CHARস্ট্রিং(০ - ২৫৫)
VARCHARস্ট্রিং(০ - ২৫৫)
TINYTEXTস্ট্রিং(০ - ৬৫৫৩৫)
TEXTস্ট্রিং(০ - ৬৫৫৩৫)
BLOBস্ট্রিং(০ - ১৬৭৭৭২১৫)
MEDIUMTEXTস্ট্রিং(০ - ১৬৭৭৭২১৫)
MEDIUMBLOBস্ট্রিং(০ - ৪২৯৪৯৬৭২৯৫)
LONGTEXTস্ট্রিং(০ - ৪২৯৪৯৬৭২৯৫)
LONGBLOBইন্টিজার(-১২৮ থেকে ১২৭)
TINYINTইন্টিজার(-৩২৭৬৮ থেকে ৩২৭৬৭)
SMALLINTইন্টিজার(-৮৩৮৮৬০৮ থেকে ৮৩৮৮৬০৭)
MEDIUMINTইন্টিজার(-২১৪৭৪৮৩৬৪৮ থেকে ২১৪৭৪৮৩৬৪৭)
INTইন্টিজার(-৯২২৩৩৭২০৩৬৮৫৪৭৭৫৮০৮ থেকে ৯২২৩৩৭২০৩৬৮৫৪৭৭৫৮০৭)
BIGINTডেসিমল(২৩ ডিজিট)
FLOATডেসিমল(২৪ থেকে ৫৩ ডিজিট)
DOUBLEDOUBLE স্ট্রিং হিসেবে স্টোর হয়
DECIMALবছর-মাস-দিন
DATEবছর-মাস-দিন ঘন্টাঃমিনিটঃসেকেন্ড (১০০০-০১-০১ ০০ঃ০০ঃ০০ থেকে ৯৯৯৯-১২-৩১ ২৩ঃ৫৯ঃ৫৯)
DATETIMEবছর-মাস-দিন ঘন্টাঃমিনিটঃসেকেন্ড (১৯৭০/০১/০১ ০০ঃ০০ঃ০০ থেকে ২০৩৮-০১-১৯ ০৩ঃ১৪ঃ০৭)
TIMESTAMPঘন্টাঃমিনিটঃসেকেন্ড(-৮৩৮ঃ৫৯ঃ৫৯ থেকে ৮৩৮ঃ৫৯ঃ৫৯)
TIMEবছর(১৯০১ থেকে ২১৫৫)
YEARপ্রিসেট অপশন
ENUMপ্রিসেট অপশন সিলেক্ট
SETTINYINT(1)
BOOLEANABSSIGNMODFLOORCEILINGROUNDDIVEXPLNLOGLOG2LOG10POWPOWERSQRTPICOSSINTANACOSASINATANATAN2COTRANDLEASTGREATESTDEGREESRADIANSTRUNCATEDAYOFWEEKWEEKDAYDAYOFMONTHDAYOFYEARMONTHDAYNAMEMONTHNAMEQUARTERWEEKYEARYEARWEEKHOURMINUTESECONDPERIOD_ADDPERIOD_DIFFDATE_ADDDATE_SUBADDDATESUBDATEEXTRACTTO_DAYSFROM_DAYSDATE_FORMATTIME_FORMATCURRENT_DATECURRENT_TIMENOWSYSDATEUNIX_TIMESTAMPFROM_UNIXTIMESEC_TO_TIMETIME_TO_SEC