36
VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03

VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03. Create Alter Drop Data Defination Language

Embed Size (px)

Citation preview

Page 1: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

VTYS 2012Mehmet Emin KORKUSUZ

Ders -

03

Page 2: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

Create Alter Drop

Data Defination Language

Page 3: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

Database Table Procedure ve Function Index View Trigger

Create

Page 4: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification] ... create_specification:

[DEFAULT] CHARACTER SET [=] charset_name | [DEFAULT] COLLATE [=] collation_name

Create Database

Page 5: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

create database if not exist Bilgi_Sistemichar set utf8collate utf8_turkish_ci;

Default

create database if not exist Bilgi_Sistemidefault char set utf8default collate utf8_turkish_ci;

Page 6: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [table_options]

Create Table

CREATE TABLE ornek( id INT, data VARCHAR(100) );

Page 7: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

{ENGINE|TYPE} [=] engine_name AUTO_INCREMENT [=] value | AVG_ROW_LENGTH [=] value [DEFAULT] CHARACTER SET [=] charset_name CHECKSUM [=] {0 | 1} [DEFAULT] COLLATE [=] collation_name COMMENT [=] 'string' CONNECTION [=] 'connect_string' DATA DIRECTORY [=] 'absolute path to directory' DELAY_KEY_WRITE [=] {0 | 1}

Table Options

Page 8: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

INDEX DIRECTORY [=] 'absolute path to directory'

INSERT_METHOD [=] { NO | FIRST | LAST } | MAX_ROWS [=] value | MIN_ROWS [=] value | PACK_KEYS [=] {0 | 1 | DEFAULT} | PASSWORD [=] 'string' | ROW_FORMAT [=] {DEFAULT|DYNAMIC|FIXED|COMPRESSED|REDUNDANT|COMPACT} | UNION [=] (tbl_name[,tbl_name]...)

Table Options

Page 9: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

Storage Engine Description

InnoDB Transaction-safe tables with row locking and foreign keys. The default storage engine for new tables. See Section 13.2, “The InnoDB Storage Engine”, and in particular Section 13.2.1.1, “InnoDB as the Default MySQL Storage Engine” if you have MySQL experience but are new to InnoDB.

MyISAM The binary portable storage engine that is primarily used for read-only or read-mostly workloads. See Section 13.3, “The MyISAM Storage Engine”.

MEMORY The data for this storage engine is stored only in memory. See Section 13.4, “The MEMORY Storage Engine”.

CSV Tables that store rows in comma-separated values format. See Section 13.5, “The CSV Storage Engine”.

ARCHIVE The archiving storage engine. See Section 13.6, “The ARCHIVE Storage Engine”.

EXAMPLE An example engine. See Section 13.10, “The EXAMPLE Storage Engine”.

FEDERATED Storage engine that accesses remote tables. See Section 13.9, “The FEDERATED Storage Engine”.

HEAP This is a synonym for MEMORY.

MERGE A collection of MyISAM tables used as one table. Also known as MRG_MyISAM. See Section 13.8, “The MERGE Storage Engine”.

ISAM(OBSOLETE) Not available in MySQL 5.6. If you are upgrading to MySQL 5.6 from a previous version, you should convert any existing ISAM tables to MyISAM beforeperforming the upgrade.

Page 10: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

Data Type

BIT[(length)] TINYINT[(length)] [UNSIGNED] [ZEROFILL] SMALLINT[(length)] [UNSIGNED] [ZEROFILL] MEDIUMINT[(length)] [UNSIGNED] [ZEROFILL] INT[(length)] [UNSIGNED] [ZEROFILL] INTEGER[(length)[UNSIGNED] [ZEROFILL] BIGINT[(length)] [UNSIGNED] [ZEROFILL] REAL[(length,decimals)] [UNSIGNED] [ZEROFILL] DOUBLE[(length,decimals)] [UNSIGNED] [ZEROFILL] FLOAT[(length,decimals)] [UNSIGNED] [ZEROFILL DECIMAL[(length[,decimals])] [UNSIGNED] [ZEROFILL] NUMERIC[(length[,decimals])] [UNSIGNED] [ZEROFILL]

Page 11: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

integerType Storage Minimum Value Maximum Value

  (Bytes) (Signed/Unsigned) Signed/Unsigned)

TINYINT 1 -128 127

    0 255

SMALLINT 2 -32768 32767

    0 65535

MEDIUMINT 3 -8388608 8388607

    0 16777215

INT 4 -2147483648 2147483647

    0 4294967295

BIGINT 8 -9223372036854775808 9223372036854775807

    0 18446744073709551615

Page 12: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

DATE TIME TIMESTAMP DATETIME YEAR CHAR[(length)] [CHARACTER SET charset_name] [COLLATE collation_name]

VARCHAR(length) [CHARACTER SET charset_name] [COLLATE collation_name]

BINARY[(length)] | VARBINARY(length)

Data Type

Page 14: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

Char - Varchar

Value CHAR(4) Storage Required

VARCHAR(4)

Storage Required

'' '    ' 4 bytes '' 1 byte

'ab' 'ab  ' 4 bytes 'ab' 3 bytes

'abcd' 'abcd' 4 bytes 'abcd' 5 bytes

'abcdefgh' 'abcd' 4 bytes 'abcd' 5 bytes

Page 15: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

TINYBLOB BLOB MEDIUMBLOB LONGBLOB TINYTEXT [BINARY] [CHARACTER SET charset_name] [COLLATE collation_name]

TEXT [BINARY] [CHARACTER SET charset_name] [COLLATE collation_name]

MEDIUMTEXT [BINARY] [CHARACTER SET charset_name] [COLLATE collation_name]

LONGTEXT [BINARY] [CHARACTER SET charset_name] [COLLATE collation_name]

Page 16: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

ENUM(value1,value2,value3,...) [CHARACTER SET charset_name] [COLLATE collation_name]

SET(value1,value2,value3,...) [CHARACTER SET charset_name] [COLLATE collation_name]

Page 17: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

enum

CREATE TABLE sizes ( name ENUM('small', 'medium', 'large') );

ENUM('one', 'two', 'three')

Value Index

NULL NULL

'' 0

'one' 1

'two' 2

'three' 3

Page 18: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

set

CREATE TABLE myset (col SET('a', 'b', 'c', 'd'));

INSERT INTO myset (col) VALUES -> ('a,d'), ('d,a'), ('a,d,a'), ('a,d,d'), ('d,a,d');

Page 19: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

CHAR(M) M × w bytes, 0 <= M <= 255, where w is the number of bytes required for the maximum-length character in the character set

BINARY(M) M bytes, 0 <= M <= 255

VARCHAR(M), VARBINARY(M) L + 1 bytes if column values require 0 – 255 bytes, L + 2 bytes if values may require more than 255 bytes

TINYBLOB, TINYTEXT L + 1 bytes, where L < 28

BLOB, TEXT L + 2 bytes, where L < 216

MEDIUMBLOB, MEDIUMTEXT L + 3 bytes, where L < 224

LONGBLOB, LONGTEXT L + 4 bytes, where L < 232

ENUM('value1','value2',...) 1 or 2 bytes, depending on the number of enumeration values (65,535 values maximum)

SET('value1','value2',...) 1, 2, 3, 4, or 8 bytes, depending on the number of set members (64 members maximum)

Page 20: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

Diğer tipler

Other Vendor Type MySQL Type

BOOL TINYINT

BOOLEAN TINYINT

CHARACTER VARYING(M) VARCHAR(M)

FIXED DECIMAL

FLOAT4 FLOAT

FLOAT8 DOUBLE

INT1 TINYINT

INT2 SMALLINT

INT3 MEDIUMINT

INT4 INT

INT8 BIGINT

LONG VARBINARY MEDIUMBLOB

LONG VARCHAR MEDIUMTEXT

LONG MEDIUMTEXT

MIDDLEINT MEDIUMINT

NUMERIC DECIMAL

Page 21: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

Mevcut Tabloyu Kopyalamak

CREATE TABLE new_tbl SELECT * FROM orig_tbl;

CREATE TABLE new_tbl LIKE orig_tbl;

Page 22: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

Alter database

ALTER {DATABASE | SCHEMA} [db_name] alter_specification ...

ALTER {DATABASE | SCHEMA} db_name UPGRADE DATA DIRECTORY NAME

alter_specification: [DEFAULT] CHARACTER SET [=] charset_name | [DEFAULT] COLLATE [=] collation_name

Page 23: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

Alter table

ALTER [IGNORE] TABLE tbl_name [alter_specification [, alter_specification] ...] [partition_options]

Page 24: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

Add Change Modify Drop Rename Order by

Page 25: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

ALTER TABLE Example ADD ID INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (ID);

ALTER TABLE Example ADD UNIQUE (URL); ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT FIRST; ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT AFTER c;

Page 26: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

ALTER TABLE testalter_tbl MODIFY c CHAR(10);

ALTER TABLE testalter_tbl CHANGE i j BIGINT; ALTER TABLE testalter_tbl CHANGE j j INT; ALTER TABLE testalter_tbl MODIFY j BIGINT

NOT NULL DEFAULT 100;

Page 27: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

ALTER TABLE testalter_tbl engine= MYISAM; SHOW TABLE STATUS LIKE 'testalter_tbl‘; ALTER TABLE testalter_tbl RENAME TO

alter_tbl; ALTER TABLE testalter_tbl ORDER BY name;

Page 28: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

rename

RENAME TABLE old_table TO backup_table, new_table TO old_table;

Page 29: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

truncate

Truncate old_friends;

Page 30: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

DROP {DATABASE | SCHEMA} [IF EXISTS] db_name

Drop if exists veritabani;

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... [RESTRICT | CASCADE]

Drop tablo;

Drop

Page 31: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

Veri GirişiLoad data, insert

Page 32: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

LOAD DATA INFILE

Page 33: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

[LOCAL] [LOW_PRIORITY | CONCURRENT]

[LOCAL] ifadesi veri alınacak dosyanın yerelde yani bu bilgisayarda olduğunu ifade eder.

[LOW_PRIORITY] Veri tabanından bilgi istenirken işlem önceliğinin olmayacağını belirten bir komuttur.

[CONCURRENT] ifadesi ise veri tabanında bilgi istenildiği zaman eş zamanlı olarak çağırmak içindir.

Page 34: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

LOAD DATA [LOCAL] INFILE

“C:/Users/Desktop/açık_dosya_adı”

INTO TABLE tablo_ad

COLUMNS ESCAPED BY “,”

LINES TERMINATED BY “-”;

Page 35: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

Select into outfile

Select into outfile load data infile komutunun tam tersini yapmaktadır.

Tablodaki verileri harici bir dosyaya yazdırmaya yarar.

SELECT * INTO OUTFILE “dosya_yolu” [FIELDS | COLUMNS] [TERMINATED | ESCAPED] BY “karekter”

LINES [TERMINATED | STARTING] BY “karakter”FROM tablo_adı;

Page 36: VTYS 2012 Mehmet Emin KORKUSUZ Ders - 03.  Create  Alter  Drop Data Defination Language

UYGULAMA

SELECT * INTO OUTFILE “C:/Users/Desktop/dosya_adı_ve_uzantısı” INTO TABLE tablo_adı COLUMNS ESCAPED BY “,” LINES TERMINATED BY “-” FROM tablo_ad;

SELECT alan1,alan2,alan7 INTO OUTFILE“C:/Users/Desktop/dosya_adı_ve_uzantısı”INTO TABLE tablo_adı

COLUMNS ESCAPED BY “;”LINES TERMINATED BY “\n”

FROM tablo_ad;