MySQL
Handige SQL-statements (om af te kijken)
CREATE DATABASE databasenaam;
DROP DATABASE databasenaam;
SHOW DATABASES;
USE DATABASE;
DROP TABLE tabel;
CREATE TABLE tabelnaam (kolomnaam definitie, ...) ;
DROP DATABASE databasenaam;
SHOW DATABASES;
USE DATABASE;
DROP TABLE tabel;
CREATE TABLE tabelnaam (kolomnaam definitie, ...) ;
volgens de MySQL 4 manual: " As of MySQL 4.1, SERIAL is an alias for BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE."
DESC tabelnaam # toon structuur van tabel ALTER TABLE tabelnaam ADD/MODIFY kolomnaam definitie; ALTER TABLE tabelnaam DROP kolomnaam; ALTER TABLE tabelnaam ALTER kolomnaam SET DEFAULT waarde; ALTER TABLE tabelnaam ALTER kolomnaam DROP DEFAULT; ALTER TABLE tabelnaam CHANGE kolomnaam nieuwekolomnaam definitie; ALTER TABLE tabelnaam RENAME nieuwetabelnaam; UPDATE table_reference SET kolom1={expr1|DEFAULT} [, kolom2={expr2|DEFAULT}] ... WHERE conditie INSERT INTO tabelnaam (kolom1,..) VALUES (waarde1, ..) SELECT kolom1, .. FROM tabelnaam [ORDER BY kolomnaam [DESC]] [GROUP BY kolomnaam] [WHERE expressie [AND/OR expressie2]] (=,>,>-,<,<=) [WHERE kolom [NOT] IN (waarde1, waarde2, ..)] [WHERE kolom [NOT] LIKE 'aap%'] [LIMIT aantal] SELECT query UNION ALL SELECT query2
Inner join:
SELECT kolommen FROM tabel1, tabel2 WHERE tabel1.kol1 = tabel2.kol2;
Outer joins:
SELECT kolommen FROM tabel1 LEFT JOIN tabel2 ON tabel1.kol1 = tabel2.kol2; SELECT * FROM user; GRANT ALL ON computer TO user@localhost IDENTIFIED BY 'wachtwoord'; GRANT ALL ON computer TO user@'%' IDENTIFIED BY 'wachtwoord';
SELECT last_insert_id() #geeft de laatste waarde van een AUTO_INCREMENT of SERIAL veld
Backup:
# mysqldump --user=accountnaam --password=wachtwoord databasenaam > backupfile
Restore:
# mysql - u accountnaam -p databasenaam < backupfile
create database
create database concrete5;
create user
create user 'concrete5'@'localhost' identifief by 'password';
geef rechten
GRANT ALL PRIVILEGES ON concrete5 TO 'concrete5'@'localhost'; FLUSH PRIVILEGES;