PDA

Orijinalini görmek için tıklayınız : sQL nedir ?


BuLvAr ^
02-08-2008, 05:48 PM
SQL Nedir?

SQL (Structured Query Language), bir veritabanı dilidir. Program geliştiricileri ve Veritabanı kullanıcıları, bir veritabanına veri eklerken, silerken, güncellerken veya sorgularken bu dili kullanırlar. Hem ANSI hem de ISO standardı olmasına rağmen, çoğu veritabanı programı standart dillere ekleme yaparak bu dili kullanmaktadırlar.

SMF MySQL yedekleme ve geri yükleme araçları:
veritabani_yedekle.php : MySQL veritabanınızın yedeğini alır, scripti çalıştırdığınız klasöre kaydeder
veritabani_geri_yukle.php : Yedeklerinizi geri yükler


SQL'in kullandığımız bir kaç sorgulama temel komutu vardır. Bunların en basitleri:

SELECT (veri seçerken kullanılır)
DELETE(veri silerken kullanılır)
UPDATE (veri güncellerken kullanılır)
INSERT (veri girerken kullanılır)
CREATE (tablo oluşturuken kullanılır)
DROP (tablo siler)

gelelim bunlarıu nasıl kullanacagımıza ve veriyi nasıl import edeceğimize...

Not:tablo yapısı olarak kaydedilen veri tabanı acmayı anlatıcam

şimdi bizim aldıgımız yedekleri ufaktan inceleyelim...

smf-complete_2006-06-18.sql.gz aldıgımız yedek boyle bir şeydir bunu zip programı ile actıgımıza .sql uzantılı bir dosya ile karşılasırız ve bu dosya not defteri ile acılabilir...

Code:

DROP TABLE IF EXISTS `smf_messages`;

CREATE TABLE `smf_messages` (
ID_MSG int(10) unsigned NOT NULL auto_increment,
ID_TOPIC mediumint(8) unsigned NOT NULL default 0,
ID_BOARD smallint(5) unsigned NOT NULL default 0,
posterTime int(10) unsigned NOT NULL default 0,
ID_MEMBER mediumint(8) unsigned NOT NULL default 0,
ID_MSG_MODIFIED mediumint(8) unsigned NOT NULL default 0,
subject tinytext NOT NULL default '',
posterName tinytext NOT NULL default '',
posterEmail tinytext NOT NULL default '',
posterIP tinytext NOT NULL default '',
smileysEnabled tinyint(4) NOT NULL default 1,
modifiedTime int(10) unsigned NOT NULL default 0,
modifiedName tinytext NOT NULL default '',
body text NOT NULL default '',
icon varchar(16) NOT NULL default 'xx',
PRIMARY KEY (ID_MSG),
UNIQUE topic (ID_TOPIC, ID_MSG),
UNIQUE ID_BOARD (ID_BOARD, ID_MSG),
KEY ipIndex (posterIP(15), ID_TOPIC),
KEY participation (ID_MEMBER, ID_TOPIC),
KEY ID_TOPIC (ID_TOPIC),
FULLTEXT body (body(1))
) TYPE=MyISAM;


şimdi burda ilk komut olan droptur drop tablo siler eski yedeği acacagımız için ilk once eski tabloyu siliyoruz...
Code:

DROP TABLE IF EXISTS `smf_messages`;

burda smf_messages tablosunu düşürdük yani mesajlarınızın kayıtlı oldugu tablo gitti...

Code:

CREATE TABLE `smf_messages`

bununla başlayan satırlar tablo oluşturmaya olanak tanır.
yukarda goreceğiniz gibi bu kodun sonunda bir sürü yazı var oda tablonun özelliklerini ve alanlarını belirtiyor...

tablo oluştu şimdi geldik en çetrefilli kısma

Code:

INSERT INTO `smf_messages`
(`ID_MSG`, `ID_TOPIC`, `ID_BOARD`, `posterTime`, `ID_MEMBER`, `ID_MSG_MODIFIED`, `subject`, `posterName`, `posterEmail`, `posterIP`, `smileysEnabled`, `modifiedTime`, `modifiedName`, `body`, `icon`)
VALUES (1, 1, 1, 1149542655, 0, 4, 'SMF\'ye Hoş Geldiniz!', 'Simple Machines', 'info@simplemachines.org', '127.0.0.1', 1, 1149896409, 'Arbalot', 'fdsgfdsgfd', 'xx'),
(2, 2, 1, 1149895167, 2, 2, 'sadasdsa', 'Arbalot', 'arbalot@hotmail.com', '127.0.0.1', 1, 0, '', 'fdsaf', 'xx'),
(3, 1, 1, 1149895178, 2, 3, 'Ynt: SMF\'ye Hoş Geldiniz!', 'Arbalot', 'arbalot@hotmail.com', '127.0.0.1', 1, 0, '', 'agfdsagds', 'xx'),
(4, 1, 1, 1149896344, 2, 4, 'Ynt: SMF\'ye Hoş Geldiniz!', 'Arbalot', 'arbalot@hotmail.com', '127.0.0.1', 1, 0, '', 'dfsfdsgds', 'xx'),
(5, 3, 1, 1150122130, 2, 5, 'fdsafdsa', 'Arbalot', 'arbalot@hotmail.com', '127.0.0.1', 1, 0, '', 'fdsafdsa', 'xx'),
(6, 1, 1, 1150395431, 2, 6, 'Re: SMF\'ye Hoş Geldiniz!', 'Arbalot', 'arbalot@hotmail.com', '127.0.0.1', 1, 0, '', 'lord', 'xx'),
(7, 1, 1, 1150395556, 2, 7, 'Re: SMF\'ye Hoş Geldiniz!', 'Arbalot', 'arbalot@hotmail.com', '127.0.0.1', 1, 0, '', 'arbalot<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />lord', 'xx');


Code:

INSERT INTO `smf_messages`

bununla başlayan satırlar verilerinizi aktarmaya olanak tanır... ve hangi tabloya veri aktaracagımız soyler
mesaj tablosuna veri aktaracaz...

Code:

(`ID_MSG`, `ID_TOPIC`, `ID_BOARD`, `posterTime`, `ID_MEMBER`, `ID_MSG_MODIFIED`, `subject`, `posterName`, `posterEmail`, `posterIP`, `smileysEnabled`, `modifiedTime`, `modifiedName`, `body`, `icon`)


bu kısım tablo yapısıdır...tablonuzdaki kolon sırasına gore dizilmiştir.verilerde ona gore dizilecektir zaten...

Code:

VALUES (1, 1, 1, 1149542655, 0, 4, 'SMF\'ye Hoş Geldiniz!', 'Simple Machines', 'info@simplemachines.org', '127.0.0.1', 1, 1149896409, 'Arbalot', 'fdsgfdsgfd', 'xx'),
(2, 2, 1, 1149895167, 2, 2, 'sadasdsa', 'Arbalot', 'arbalot@hotmail.com', '127.0.0.1', 1, 0, '', 'fdsaf', 'xx'),
(3, 1, 1, 1149895178, 2, 3, 'Ynt: SMF\'ye Hoş Geldiniz!', 'Arbalot', 'arbalot@hotmail.com', '127.0.0.1', 1, 0, '', 'agfdsagds', 'xx'),
(4, 1, 1, 1149896344, 2, 4, 'Ynt: SMF\'ye Hoş Geldiniz!', 'Arbalot', 'arbalot@hotmail.com', '127.0.0.1', 1, 0, '', 'dfsfdsgds', 'xx'),
(5, 3, 1, 1150122130, 2, 5, 'fdsafdsa', 'Arbalot', 'arbalot@hotmail.com', '127.0.0.1', 1, 0, '', 'fdsafdsa', 'xx'),
(6, 1, 1, 1150395431, 2, 6, 'Re: SMF\'ye Hoş Geldiniz!', 'Arbalot', 'arbalot@hotmail.com', '127.0.0.1', 1, 0, '', 'lord', 'xx'),
(7, 1, 1, 1150395556, 2, 7, 'Re: SMF\'ye Hoş Geldiniz!', 'Arbalot', 'arbalot@hotmail.com', '127.0.0.1', 1, 0, '', 'arbalot<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />lord', 'xx');


values yani değerler...buda tablo yapısına gore dizilen verilelerinizdir...
parantezler arasında kalan kısımlar sutunları belli eder yukardaki ornekte 6 adet satır aktardık buda demek oluyor ki forumumuzda 6 tane mesaj vardı...ve bunları aktardık...

bazı arkadaşlar sıfır forum kurdum ama sadece uyeleri almak istiyorum diyorlar bu durumda ne yapıyoruz
smf forumu kurduktan sonra aldıgımıs oldugumuz yedeği not defteri aracılıgı ile acıyoruz ve
Code:

INSERT INTO `smf_members`

ile başlayan yerden
Quote
;
işaretini gordugumuz yere kadar kopyalıyoruz...
Quote
;
işareti dahil olmak üzere ve bunu PMA da çalıştırıyoruz...