מאמר זה מציג פקודות SQL שימושיות שעשויות לעזור בעת ניהול מסדי נתונים, כגון ייבוא, ייצוא, שינוי ועריכת סיסמאות, הזנת ערכים חדשים לטבלאות ועוד..
פקודות (Linux\Windows)
התחברות למסד נתונים:
mysql -h [IP] --user="root" --password="db_pasword"
התחברות למסד נתונים בתור root -> החלפה למסד mysql -> יצירת משתמש חדש -> עדכון פריווילגיות:
mysql -u root -p
use mysql;
INSERT INTO user (Host,User,Password) VALUES('%','username',PASSWORD('password'));
flush privileges;
שינוי סיסמא למשתמש:
mysqladmin -u [USERNAME] -h [IP] -p [PASSWORD] 'new-password'
איפוס סיסמאת root ל-MySQL:
1. עצירת השירות mysql.
2. הפעלת ה-mysql במצב safe.
3. התחברות בתור root.
4. עדכון סיסמאת למשתמש root.
5. איפוס פריווילגיות.
6. יציאה.
7. כיבוי והפעלה של mysql.
$ /etc/init.d/mysql stop
$ mysqld_safe --skip-grant-tables &
$ mysql -u root
mysql> use mysql;
mysql> update user set password=PASSWORD("newrootpassword") where User='root';
mysql> flush privileges;
mysql> quit
$ /etc/init.d/mysql stop
$ /etc/init.d/mysql start
ייבוא קובץ SQL למסד נתונים:
mysql --user="MYSQL_USER" --password="MYSQL_PASS" DATABASE_NAME < FILE.sql
ייצוא קובץ SQL ממסד נתונים:
mysqldump --user="MYSQL_USER" --password="MYSQL_PASS" MYSQL_DATABASE > FILE.sql
שליחת שאילתה מבלי להיכנס ל-MySQL בקונסול:
mysql -u -p[PASSWORD] -e "[MYSQL_QUERY]"
שאילתות – Query's
יצירת מסד נתונים חדש:
create database [DATABASE_NAME];
קבלת רשימת מסדי נתונים:
show databases;
החלפה למסד נתונים:
use [DATABASE_NAME];
הצגת כל הטבלאות במסד נתונים:
show tables;
הצגת פורמטים של שדות מסד נתונים:
describe [TABLE_NAME];
מחיקת מסד נתונים:
drop database [DATABASE_NAME];
מחיקת טבלה ממסד נתונים:
drop table [TABLE_NAME];
יחזיר את כל המידע מטבלה:
SELECT * FROM [TABLE_NAME];
יציג פורמטים של שדות מסד נתונים:
show columns from [TABLE_NAME];
הצג שורות שנבחרו עם הערך "xyz":
SELECT * FROM [TABLE_NAME] WHERE [field_name] = "xyz";
יציג את השורות שמכילות את השם "Max" ועם מספר טלפון "1234567":
SELECT * FROM [TABLE_NAME] WHERE name = "Max" AND phone_number = '1234567';
יציג את השורות שלא מכילות את השם "Max" אך כן עם המספר "1234567", ויסדר ע"פ הסדר של המספר טלפון:
SELECT * FROM [TABLE_NAME] WHERE name != "Max" AND phone_number = '1234567' order by phone_number;
יציג את כל התוצאות אשר מתחילות עם המילה "Max" ומספר טלפון 1234567:
SELECT * FROM [TABLE_NAME] WHERE name like "Max%" AND phone_number = '1234567';
יציג בין 1 ל-5 תוצאות עם השם Max ומספר טלפון 1234567:
SELECT * FROM [TABLE_NAME] WHERE name like "Max%" AND phone_number = '1234567' limit 1,5;
נשתמש בביטוי רגיל כדי למצוא רשומות. השתמש "REGEXP BINARY" כדי לכפות רגישות במקרה. זה ימצא למעשה כל רשומה שמתחילה עם 'a':
SELECT * FROM [TABLE_NAME] WHERE rec RLIKE "^a";
הצג רשומות ייחודיות:
SELECT DISTINCT [COLUMN_NAME] FROM [TABLE_NAME];
הצג רשומות שנבחרו מסודרות בסדר עולה (asc) או יורד (desc):
SELECT [col1],[col2] FROM [TABLE_NAME] ORDER BY [col2] DESC;
יחזיר את מספר השורות בטבלה:
SELECT COUNT(*) FROM [TABLE_NAME];
סיכום עמודה:
SELECT SUM(*) FROM [TABLE_NAME];
הצטרף לטבלאות על עמודות נפוצות:
select lookup.illustrationid, lookup.personid,person.birthday from lookup left join person on lookup.personid=person.personid=statement to join birthday in person table with primary illustration id;
שינוי סיסמא למשתמש (יש להתחבר בתור root):
SET PASSWORD FOR 'user'@'hostname' = PASSWORD('passwordhere');
flush privileges;
חיפוש ושינוי ערך בטבלה:
UPDATE [TABLE_NAME] SET [COLUMN_NAME] = REPLACE([COLUMN_NAME],[search_for],[replace_with])
יציג את כל ההגדרות שהוקצו עבור ה-MySQL ומקסימום חיבורים:
show variables LIKE '%max%'
יציג את כל הפרוססים שכרגע רצים:
show full processlist