mysql -u kullanıcı_adı -p
SHOW DATABASES;
USE veritabani_adı;
SHOW TABLES;
DESCRIBE tablo_adı;
CREATE DATABASE veritabani_adı;
DROP DATABASE veritabani_adı;
CREATE TABLE calisanlar (
id INT AUTO_INCREMENT PRIMARY KEY,
ilk_ad VARCHAR(50),
soyad VARCHAR(50),
email VARCHAR(100) UNIQUE,
işe_alım_tarihi DATE,
maaş DECIMAL(10, 2)
);
-- Sütun Ekle
ALTER TABLE calisanlar ADD COLUMN departman VARCHAR(50);
-- Sütun Değiştir
ALTER TABLE calisanlar MODIFY COLUMN departman VARCHAR(100);
-- Sütun Sil
ALTER TABLE calisanlar DROP COLUMN departman;
DROP TABLE calisanlar;
INSERT INTO calisanlar (ilk_ad, soyad, email, işe_alım_tarihi, maaş)
VALUES ('John', 'Doe', 'john@example.com', '2023-01-15', 50000.00);
UPDATE calisanlar
SET maaş = 55000.00
WHERE id = 1;
DELETE FROM calisanlar
WHERE id = 1;
SELECT * FROM calisanlar;
SELECT ilk_ad, soyad, maaş
FROM calisanlar
WHERE maaş > 50000
ORDER BY soyad ASC;
SELECT * FROM calisanlar
LIMIT 10 OFFSET 20;
SELECT * FROM calisanlar
WHERE soyad LIKE 'S%';
SELECT * FROM calisanlar
WHERE departman_id IN (1, 2, 3);
SELECT * FROM calisanlar
WHERE maaş BETWEEN 40000 AND 60000;
SELECT e.ilk_ad, e.soyad, d.departman_adı
FROM calisanlar e
INNER JOIN departmanlar d ON e.departman_id = d.id;
SELECT e.ilk_ad, e.soyad, d.departman_adı
FROM calisanlar e
LEFT JOIN departmanlar d ON e.departman_id = d.id;
SELECT e.ilk_ad, e.soyad, d.departman_adı
FROM calisanlar e
RIGHT JOIN departmanlar d ON e.departman_id = d.id;
SELECT
COUNT(*) as toplam_calisan,
AVG(maaş) as ortalama_maaş,
MAX(maaş) as en_yüksek_maaş,
MIN(maaş) as en_düşük_maaş,
SUM(maaş) as toplam_maaş
FROM calisanlar;
SELECT
CONCAT(ilk_ad, ' ', soyad) as tam_ad,
UPPER(soyad) as büyük_harfli_soyad,
LENGTH(ilk_ad) as ad_uzunluğu
FROM calisanlar;
SELECT
ilk_ad,
işe_alım_tarihi,
YEAR(işe_alım_tarihi) as işe_alım_yılı,
DATEDIFF(CURDATE(), işe_alım_tarihi) as işe_alım_günleri
FROM calisanlar;
CREATE INDEX idx_soyad ON calisanlar (soyad);
CREATE UNIQUE INDEX idx_email ON calisanlar (email);
DROP INDEX idx_soyad ON calisanlar;
CREATE VIEW yüksek_maaşlı_calisanlar AS
SELECT ilk_ad, soyad, maaş
FROM calisanlar
WHERE maaş > 60000;
SELECT * FROM yüksek_maaşlı_calisanlar;
DELIMITER //
CREATE PROCEDURE DepartmanBazındaCalisanlar(IN dept_id INT)
BEGIN
SELECT * FROM calisanlar
WHERE departman_id = dept_id;
END //
DELIMITER ;
CALL DepartmanBazındaCalisanlar(1);
DELIMITER //
CREATE TRIGGER before_employee_update
BEFORE UPDATE ON calisanlar
FOR EACH ROW
BEGIN
SET NEW.son_değişiklik = NOW();
END //
DELIMITER ;
START TRANSACTION;
UPDATE hesaplar SET bakiye = bakiye - 100 WHERE id = 1;
UPDATE hesaplar SET bakiye = bakiye + 100 WHERE id = 2;
COMMIT;
-- Veya hata varsa ROLLBACK;
CREATE USER 'yeni_kullanıcı'@'localhost' IDENTIFIED BY 'şifre';
GRANT ALL PRIVILEGES ON veritabani_adı.* TO 'yeni_kullanıcı'@'localhost';
FLUSH PRIVILEGES;
``## Kullanıcı Yönetimi
### Kullanıcı Oluştur
```sql
CREATE USER 'yeni_kullanıcı'@'localhost' IDENTIFIED BY 'şifre';
GRANT ALL PRIVILEGES ON veritabani_adı.* TO 'yeni_kullanıcı'@'localhost';
FLUSH PRIVILEGES;
REVOKE ALL PRIVILEGES ON veritabani_adı.* FROM 'yeni_kullanıcı'@'localhost';
mysqldump -u kullanıcı_adı -p veritabani_adı > yedek.sql
mysql -u kullanıcı_adı -p veritabani_adı < yedek.sql
EXPLAIN SELECT * FROM calisanlar WHERE soyad = 'Smith';
OPTIMIZE TABLE calisanlar;
SHOW PROCESSLIST;
CREATE FULLTEXT INDEX ft_idx ON makaleler (baslik, icerik);
SELECT * FROM makaleler
WHERE MATCH (baslik, icerik) AGAINST ('anahtar_kelime' IN NATURAL LANGUAGE MODE);
SELECT departman, is_unvanı, SUM(maas)
FROM calisanlar
GROUP BY departman, is_unvanı WITH ROLLUP;
INSERT INTO calisanlar (id, ad, soyad, maas)
VALUES (1, 'John', 'Doe', 50000)
ON DUPLICATE KEY UPDATE maas = maas + 1000;
2024 © Tüm hakları saklıdır - buraxta.com