Anda di halaman 1dari 4

mysql -u root -p

atau
C:\xampp\mysql\bin\mysql.exe -u root -p
show databases; => untuk melihat data semua databases nya
DDL DML
DDL = Data Definition Languages yang digunakan membangun kerangka database
DML = untuk memanipulasi data
<Definition>
Structure
DML
<record>
Beda definition dan record
definition => fondasinya yaitu tabel atau tabelnya. Mengubah tabel mahasiswa nambah
atribut nama,wadah yg diubah atau tabel ditambah nama.
Isi dari tabel itu adalah record
DDL ada perintah untuk struktur
- create (membuat tabel)
- alter (untuk mengubah tipe data)
- drop (menghapus tabel)
- desc (melihat struktur tabel)
DML (Manipulation) untuk isinya
perintah :
- insert (tambah isi)
- update (ganti isi)
- delete (isi tabel yang dibuang)
- select (tampilkan isi tabelnya)

sintaks :
create database ifbilc;
use ifbilc;
show tables;

Database Relational = model pengembangan basis data yang berisi baris dan kolom
relasional
Mhs Mk Dosen
001 Alpro1 Osvari (Os)
002 Alpro3 Rizki Kurniati (Rk)

KRS
(001,Alpro1,Os)
(002,Alpro1,Os)
(002,Alpro3,Rk)

atribut/kolom
row/record/baris/tuple
tipe data enumerasi = nilai tercacah menjadi nilai yang baru atau jd yg lain

dalam DB string ada 2 kondisi :


statis/static = panjang data berapa sdh tau
dinamis/dinamic

create table mahasiswa(


-> NIM varchar(15) not null PRIMARY KEY, => wajib diisi dan tdk ada nim yang sama
-> Nama text not null,
-> Alamat text not null,
-> Email varchar(70) null)engine=Innodb;
show tables;
desc mahasiswa;
buat bentuk tabel dosen dan mahasiswa
Basis Data adalah kumpulan data/informasi berkaitan,disimpan secara sistematis dan
terorganisasi dengan baik sehingga menghasilkan informasi bermanfaat bagi user
dalam media
penyimpanan disimpan dalam DMS.

tbl_mhs

FIELD TYPE DEFAULT NULL INDEX


NIM VARCHAR(15) NOT PK
NAMA TEXT NOT
ALAMAT TEXT NOT
ANGKATAN INT(4) NOT
EMAIL VARCHAR(75) 'n/a' YES
TGL_LHIR DATE NOT

tbl_dosen

FIELD TYPE DEFAULT NULL INDEX


nip VARCHAR(25) NOT PK
NAMA TEXT NOT
PANGKAT VARCHAR(15) 'n/a' YES
GOLONGAN VARCHAR(5) 'n/a' YES
JABATAN VARCHAR(25) 'n/a' YES
EMAIL VARCHAR(75) 'n/a' YES

tbl_mk

FIELD TYPE DEFAULT NULL INDEX


KODE VARCHAR(10) NOT PK
DESKRIPSI VARCHAR(50) NOT
SKS INT(10) NOT
ANGKATAN INT(4) NOT
SEMESTER INT(8) NOT

SELECT Menampilkan representasian hasil copyan tabelnya.


SELECT * FROM tbl_mhs WHERE MONTH(tgl_lahir)<6; = bulan
SELECT NAMA,tgl_lahir FROM tbl_mhs;
SELECT NAMA,date_format(tgl_lahir,'%M,%d,%Y') FROM tbl_mhs;
SELECT NAMA,date_format(tgl_lahir,'%d-%m-%Y') as tgl_lahir FROM tbl_mhs
WHERE MONTH(tgl_lahir)<2 AND MONTH(tgl_lahir)>8;
SELECT 2+2;
SELECT NAMA,date_format(tgl_lahir,'%d-%m-%Y') as tgl_lahir,
(angkatan+month(tgl_lahir)) as hitung from tbl_mhs;
INSERT INTO tbl_mhs;
-> ('0902005','Selly','Kenten','2018',STR_TO_DATE('09-12-2000','%d-%m-%Y'));
SELECT * FROM tbl_mhs;

ERD = Diagram yang menghubungkan antar entitas


Entitas jg ada attribut,attribut ada hal penting jika sebuah entitas dominan/kuat
pastilah pnya sebuah penanda yg unik dr record satu ke record lain.
Contoh : Mahasiswa pnya nim yang beda walaupun orangnya sama
Entitas mahasiswa, pnya attribut :
NIM,NAMA,Angkatan.
Kode,Nama,Strata NIM, NAMA, ANGKATAN
NIM,KODE,NIP,Ruang,Waktu KODE,NAMA,SKS
JURUSAN 1 terdaftar kode n Mahasiswa n BELAJAR
n MK KURIKULUM
<jadwal>

n
DOSEN
JABATAN,GOLONGAN,PANGKAT,NAMA,NIP

ENTITAS RELASIONAL => MANY TO MANY atau bukan


Primary diperbanyak akan duplicate
create
desc
insert
select

TABEL RELASIONAL
insert into jadwal(nim,nip

SELECT itu membaca isi table.


format primary key

SELECT
SELECT <fields> FROM <tables>
WHERE <clauses>
<opt:GROUP BY <field>
ORDER BY <field>
MENAMBAH 1 FIELD BARU
SELECT
-> CONCAT (ni,"-",kode) as id_jadwal;
-> nilai,
-> CASE
-> WHEN nilai >=70 THEN 'LULUS'
-> WHEN nilai < 70 THEN 'TIDAK LULUS'
-> AND as keterangan
-> FROM jadwal;

SELECT nim,AVG(nilai) as rerata FROM jadwal;


SELECT nim,AVG(nilai) as rerata FROM jadwal GROUP BY nim;

SELECT nip,kode,AVG(nilai) as rerata FROM jadwal GROUP BY kode;


SELECT tbl_dosen,nama,tbl_mhs,tbl_mk,deskripsi,as matkul,AVG(jadwal,nilai) as
rerata
-> FROM jadwal,tbl_dosen,tbl_mk, WHERE jadwal,nip, = tbl_dosen,nip, AND jadwal,kode
= tbl_mk,kode
-> GROUP BY jadwal,nip;

SELECT tbl_dosen,nama,tbl_mhs,tbl_mk,deskripsi,as matkul,AVG(jadwal,nilai) as


rerata
-> FROM jadwal,tbl_dosen,tbl_mk, WHERE jadwal,nip, = tbl_dosen,nip, AND jadwal,kode
= tbl_mk,kode
-> GROUP BY jadwal,kode;

-> SELECT nim


-> from tbbl_mhs_prestasi;
SELECT * from tbl_mhs WHERE nim in (SELECT nim FROM tbl_mhs_prestasi);

tampilkan mahasiswa yang nilainya diatas rata-rata kelas

SELECT AVG(nilai) from jadwal;

SELECT * from jadwal


-> WHERE nilai > (SELECT avg(nilai) from jadwal;

cari nilai rata-rata tiap" mahasiswa


SELECT nim,avg(nilai) from jadwal group by nim;

having itu where utk agregat : count,max,min,sum,avg

select nim,avg(nilai) from jadwal group by nim


-> HAVING AVG(nilai) > (select avg(nilai) from jadwal);

Tampilkan mahasiswa > dr mata kuliah itu

select kode,avg(nilai) from jadwal group by kode;

select * from jadwal as tabel1


where tabel1.nilai >
(select avg(nilai) from jadwal as tabel2
where tabel2.kode = tabel1.kode
group by tabel2.kode);

select * from tbl_mhs


where tgl_lahir >
(select tgl_lahir from tbl_mhs where nama='yohana');

select * from tbl_mhs


where tgl_lahir =
(select tgl_lahir from tbl_mhs where nama='yohana')
and
nama <> 'yohana';

Anda mungkin juga menyukai