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;