Öncelikle scriptte kullandığımız basit komutları ekliyorum. Bunlar çok opsiyonu olmayan komutlar. Olsada benim önüme gelecek sınavda çok dert değil.
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| SofaAG |
| grandhotel |
| information_schema |
| mysql |
| performance_schema |
+--------------------+
5 rows in set (0.33 sec)
MariaDB [(none)]> use SofaAG;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [SofaAG]>
EXPLAIN TABLE
bir table in attributelarını görmek için.
MariaDB [SofaAG]> show tables;
+------------------+
| Tables_in_SofaAG |
+------------------+
| t_aufbau |
| t_bestellpos |
| t_plattform |
| t_sonder |
+------------------+
4 rows in set (0.00 sec)
MariaDB [SofaAG]> explain t_plattform;
+-------------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+-------------+------+-----+---------+-------+
| platt_nr | int(11) | NO | PRI | NULL | |
| hersteller_nr | int(11) | YES | | NULL | |
| typ | varchar(20) | YES | | NULL | |
| motor | varchar(40) | YES | | NULL | |
| leistung_in_kw | int(11) | YES | | NULL | |
| hubraum | int(11) | YES | | NULL | |
| getriebe | varchar(20) | YES | | NULL | |
| kabine | varchar(20) | YES | | NULL | |
| lieferzeit_tage | int(11) | YES | | NULL | |
| verrechnungspreis | float(10,2) | YES | | NULL | |
+-------------------+-------------+------+-----+---------+-------+
10 rows in set (0.32 sec)
tek satılıklar
drop database grandhotel;
create database grandhotel;
use grandhotel;
Use ile DB’yi seçiyoruz, çünkü RDBM (Relational Database Manager- MySQL, MSSQL, Oracle..) üzerinde birden çok DB olabilir. (bizde de SofaAG ve grandhotel)
Drop database ile de siliyoruz. E tabii “create database” ile de oluşturuyoruz.
table oluşturma
create table Kategorie (kategorie_id integer auto_increment,kat_bezeichnung varchar(20),kat_preis_EZ float, kart_preis_DZ float, primary key (kategorie_id));
Daha önce bahsetmiştik bir table ın yapısı nasıldır ne nedir diye
İşte şimdi bu table ı oluşturacağız. Oluştururken tablo adını ve ilişki şemasını tek bir komutta veriyoruz. İlişki şeması (sütunların adı ve tipi)
Create table <table_adi> ( <sütun_adı> <Sütun_veri_tipi>, <sütun_adı> <Sütun_veri_tipi> , … primary key (<primary key olacak sütun adı>));
Daha sonra bu oluşturduğumuz tabloyu yukarıda ki örnekte olduğu gibi “explain” komutu ile görebiliriz.
Daha sonra sütunlara veri girmek için :
insert into Kategorie (kat_bezeichnung,kat_preis_EZ,kart_preis_DZ) values ("Standard","70","100");
insert into <table_adı> (<sütun_1_adı>, <sütun_2_adı> , <sütun_3_adı>,…..) values ( “<sütun_1_entity_attribut_değeri>“, “<sütun_1_entity_attribut_değeri>” , “<sütun_1_entity_attribut_değeri>” ,…..);
şimdi diyelim ki bir tabloya yeni birşey eklemek istiyoruz.
MariaDB [grandhotel]> explain Zimmer;
+--------------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+---------+------+-----+---------+-------+
| zimmer_id | int(11) | NO | PRI | NULL | |
| kategorie_id | int(11) | YES | | NULL | |
+--------------+---------+------+-----+---------+-------+
görüldüğü gibi tabloda sadece 2 sütun var. Mesela tip sütununu eklemek istiyorum. böylece oda eskimi, yenilenmişmi yoksa tadilatta mı onuda ekleyeceğim.
MariaDB [grandhotel]> alter table Zimmer add status varchar(5);
Query OK, 0 rows affected (0.38 sec)
Records: 0 Duplicates: 0 Warnings: 0
MariaDB [grandhotel]> explain Zimmer;
+--------------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+------------+------+-----+---------+-------+
| zimmer_id | int(11) | NO | PRI | NULL | |
| kategorie_id | int(11) | YES | | NULL | |
| status | varchar(5) | YES | | NULL | |
+--------------+------------+------+-----+---------+-------+
görüldüğü gibi Status sütununu ekledik. Ama sütun bütün entitiylerde boş kaldı. Şimdi onu ekleyelim. Öncesi ve sonrası ile :
UPDATE <TABLE> SET
MariaDB [grandhotel]> select * from Zimmer;
+-----------+--------------+--------+
| zimmer_id | kategorie_id | status |
+-----------+--------------+--------+
| 101 | 1 | NULL |
| 102 | 1 | NULL |
| 103 | 1 | NULL |
| 104 | 2 | NULL |
+-----------+--------------+--------+
4 rows in set (0.00 sec)
MariaDB [grandhotel]> update Zimmer set status="tadil" where zimmer_id="101";
Query OK, 1 row affected (0.31 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MariaDB [grandhotel]> select * from Zimmer;
+-----------+--------------+--------+
| zimmer_id | kategorie_id | status |
+-----------+--------------+--------+
| 101 | 1 | tadil |
| 102 | 1 | NULL |
| 103 | 1 | NULL |
| 104 | 2 | NULL |
+-----------+--------------+--------+
4 rows in set (0.00 sec)
Şimdi eğer yanlış bir satır girersek onu nasıl sileriz.
DELETE FROM
MariaDB [grandhotel]> select * from Zimmer;
+-----------+--------------+--------+
| zimmer_id | kategorie_id | status |
+-----------+--------------+--------+
| 0 | NULL | tadil |
| 101 | 1 | 1 |
| 102 | 1 | 1 |
| 103 | 1 | 1 |
| 104 | 2 | 1 |
+-----------+--------------+--------+
5 rows in set (0.00 sec)
MariaDB [grandhotel]> delete from Zimmer where status="tadil";
Query OK, 1 row affected (0.31 sec)
MariaDB [grandhotel]> select * from Zimmer;
+-----------+--------------+--------+
| zimmer_id | kategorie_id | status |
+-----------+--------------+--------+
| 101 | 1 | 1 |
| 102 | 1 | 1 |
| 103 | 1 | 1 |
| 104 | 2 | 1 |
+-----------+--------------+--------+
4 rows in set (0.00 sec)
Eklediğimiz sütunu silmek için :
ALTER TABLE <TABLE_ADI> DROP <SÜTUN_ADI>;
MariaDB [grandhotel]> select * from Zimmer;
+-----------+--------------+--------+
| zimmer_id | kategorie_id | status |
+-----------+--------------+--------+
| 101 | 1 | 1 |
| 102 | 1 | 1 |
| 103 | 1 | 1 |
| 104 | 2 | 1 |
+-----------+--------------+--------+
4 rows in set (0.00 sec)
MariaDB [grandhotel]> alter table Zimmer drop status;
Query OK, 0 rows affected (0.42 sec)
Records: 0 Duplicates: 0 Warnings: 0
MariaDB [grandhotel]> select * from Zimmer;
+-----------+--------------+
| zimmer_id | kategorie_id |
+-----------+--------------+
| 101 | 1 |
| 102 | 1 |
| 103 | 1 |
| 104 | 2 |
+-----------+--------------+
4 rows in set (0.00 sec)