http___programlama.venus.gen.tr_mysql_mysql-komutlari.html_1.xml
1.1 2.1 3.1 4.1 5.1 6.1 7.1 8.1 9.1 10.1 11.1 12.1 13.1 14.1 16.1 17.1 18.1 19.1 20.1 21.1 22.1 23.1 24.1 26.1 27.1 28.1 29.1 30.1 31.1 32.1 33.1 34.1 35.1 37.1 38.1 39.1 40.1 41.1 42.1 43.1 44.1 45.1 47.1 48.1 49.1 50.1 51.1 52.1 53.1 55.1 56.1 57.1 58.1 59.1 60.1 61.1 63.1 64.1 65.1 66.1 67.1 68.1 69.1 70.1 72.1 73.1 74.1 75.1 76.1 77.1 78.1 79.1 80.1 82.1 83.1 84.1 85.1 86.1 87.1 88.1 89.1 90.1 91.1 92.1 93.1 94.1 95.1 96.1 97.1 98.1 99.1 100.1 101.1 102.1 103.1 104.1 105.1 106.1 107.1 108.1 109.1 110.1 111.1 112.1 113.1
Planning CREATE TABLE C_USERS( USER_ID INT UNSIGNED NOT NULL AUTO_INCREMENT, USER_FNAME VARCHAR(20) NOT NULL, USER_LNAME VARCHAR(20) NOT NULL, USER_EMAIL VARCHAR(60) NOT NULL, USER_LEVEL TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, USER_PASS CHAR(40) NOT NULL, USER_TELEPHONE INT(10) NOT NULL, USER_REGISTRATION DATETIME NOT NULL, USER_STREAM TEXT DEFAULT NULL, PRIMARY KEY (USER_ID), UNIQUE KEY (USER_EMAIL), INDEX login (USER_EMAIL,USER_PASS ) CREATE TABLE C_PNEWS( PN_ID INT UNSIGNED NOT NULL AUTO_INCREMENT, USER_ID INT NOT NULL, PN_TITLE VARCHAR(255) NOT NULL, PN_TEXT TEXT NOT NULL, PN_IMAGE VARCHAR(60) DEFAULT NULL, PN_DATE DATETIME NOT NULL, PRIMARY KEY(PN_ID), INDEX(PN_ID, USER_ID) CREATE TABLE C_CNEWS( CN_ID INT UNSIGNED NOT NULL AUTO_INCREMENT, USER_ID INT NOT NULL, COURSE_ID VARCHAR(7) NOT NULL, CN_TITLE VARCHAR(255) NOT NULL, CN_TEXT TEXT NOT NULL, CN_IMAGE VARCHAR(60) DEFAULT NULL, CN_DATE DATETIME NOT NULL, PRIMARY KEY(CN_ID), INDEX(CN_ID, USER_ID) CREATE TABLE C_MNEWS( MN_ID INT UNSIGNED NOT NULL AUTO_INCREMENT, USER_ID INT NOT NULL, MN_TITLE VARCHAR(255) NOT NULL, MN_TEXT TEXT NOT NULL, MN_IMAGE VARCHAR(60) DEFAULT NULL, MN_DATE DATETIME NOT NULL, PRIMARY KEY(MN_ID), INDEX(MN_ID, USER_ID) CREATE TABLE C_COURSE( COURSE_ID INT UNSIGNED NOT NULL AUTO_INCREMENT, COURSE_CODE VARCHAR(7) NOT NULL, COURSE_NAME VARCHAR(40)NOT NULL, COURSE_DESC VARCHAR(255) NOT NULL, PRIMARY KEY(COURSE_ID), INDEX(COURSE_ID) CREATE TABLE C_TOPICS( TOPIC_ID INT UNSIGNED NOT NULL AUTO_INCREMENT, COURSE_ID INT NOT NULL, USER_ID INT UNSIGNED NOT NULL, TOPIC_SUBJECT VARCHAR(255) NOT NULL, TOPIC_DATE DATETIME NOT NULL, PRIMARY KEY(TOPIC_ID) CREATE TABLE C_POSTS( POST_ID INT UNSIGNED NOT NULL AUTO_INCREMENT, TOPIC_ID INT UNSIGNED NOT NULL, USER_ID INT UNSIGNED NOT NULL, POST_TEXT TEXT NOT NULL, POST_DATE DATETIME NOT NULL, PRIMARY KEY(POST_ID), INDEX(POST_ID, TOPIC_ID) CREATE TABLE C_TEXTBOOK( TEXTBOOK_ID INT UNSIGNED NOT NULL AUTO_INCREMENT, COURSE_ID INT UNSIGNED NOT NULL, USER_ID INT UNSIGNED NOT NULL, TEXTBOOK_TITLE VARCHAR(255) NOT NULL, TEXTBOOK_DESC VARCHAR(255) NOT NULL, TEXTBOOK_ISBN INT UNSIGNED NOT NULL, TEXTBOOK_PRICE INT UNSIGNED NOT NULL, PRIMARY KEY(TEXTBOOK_ID) Use Scenario: Browsing for Forum or Professor - User from a drop down list will select course or professor website he/she would like to access Use Scenario: login/register - At the landing page user will have option to login or register - If user decide to login, after successful verification she/he would be redirected to the home page - If user is not currently subscribed he/she will need to register in order to access the forum Use Scenario: Access live stream - User will login with credential to the website - User will choose wanted professor from the list - On the professor website user will click on the stream link which will take him into the live stream page - User will need to enter code provided by the professor to see live stream Use scenario: Posting a comment - User will login with credential to the website - User from a drop down list will select course - From a navigation menu user will select topics tab - To access specific topic user will click on the topic which will take him to topic page with users post - To enter post at the bottom of the page user will be able to enter text and submit the post Use scenario: Create a topic on forum - User will login with credential to the website - User from a drop down list will select course - From a navigation menu user will select topics tab - From the navigation menu user will choose create topic - On the create topic page user will need to enter topic and text for the thread Use scenario: Selling/buying textbook - User will login with credential to the website - User from a drop down list will select course - User will select from a navigation menu brat textbooks - User will be asked if want to buy or sell textbook - If buy: - List of currently available books will be populated - If sell - User will be redirected to the page whee he/she can enter textbook information
1.1 2.1 3.1 4.1 5.1 6.1 7.1 8.1 9.1 10.1 11.1 12.1 14.1 15.1 16.1 17.1 18.1 19.1 20.1 21.1 22.1 23.1 24.1 25.1 26.1 27.1 28.1 29.1 30.1 31.1
Açık kaynak veritabanı sistemi MySQL ile anlaşabilmek için çeşitli komutlar kullanmaktayız. Bunlar bir veritabanı yaratmaya, silmeye, tablo oluşturmaya, seçmeye, düzenlemeye ve silmeye yaramaktadır. Şimdi bunlardan en çok kullanılanları ve en önemlileri burada sizlerle paylaşalım. Öncelikle bir veritabanı (database) yaratmak için kullandığımız CREATE komutu. Bu komut, eğer yetkiliyseniz belirtilen isimde veritabanı yaratmanızı sağlar. Veritabanı, tabloları kapsayan en büyük depolama birimidir. CREATE DATABASE veritabani; Bir veritabanı, içindeki tabloları ve tüm bilgilerini silmek içinse DROP DATABASE’yi kullanmaktayız. Yarattığımız “veritabani” isimli veritabanını silmek istersek: DROP DATABASE veritabani; Komutu ile bu işlemi gerçekleştiririz. Veritabanının küçük depolama birimleri olan tabloları da CREATE ve DROP ile oluşturur, fakat bu kez DATABASE yerine TABLE deyimi kullanırız. CREATE TABLE tabloadi ( 'id' INTEGER(5) UNSIGNED NOT NULL AUTO_INCREMENT, `kategori` INTEGER(4) UNSIGNED NOT NULL, `isim` VARCHAR(45) NOT NULL, `detaylar` TEXT NOT NULL, PRIMARY KEY(`id`) TYPE = MYISAM; Burada parantez içerisinde tablomuzu oluşturan sütunlar ile ilgili bilgileri gireriz. Tek tırnak içindekiler sütun adlarıdır. Sonraki kullanılanlar ise o sütunun özellikleri. INTEGER(Boyut) sayısal bir değer, VARCHAR(boyut) ya da TEXT ise alfasayısal bir değeri ifade eder. DOUBLE ise ondalıklar ve negatifleri de kullanabildiğimiz sayısal ifadelerdir. NOT NULL, sütunun asla tanımsız olamayacağını, AUTO_INCREMENT her yeni kayıtla değerin artacağını (bu işlem otomatik yapılır), PRIMARY KEY hangi anahtarın öndeğer olduğunu (öncelikli) belirtir. En sonda kullanılan MyISAM (ya da InnoDB) ise tablo türünü belirtmemize yarar. Tabloyu silmek içinse DROP kullanılır: DROP TABLE tabloadi; Ve şimdi nasıl kayıt ekleyip, düzenlediğimizden ve sildiğimizden bahsedelim. Kayıt eklemek için INSERT INTO deyimini kullanırız. INSERT INTO tabloadi (sutun1, sutun2) VALUES('deger1', 'deger2'); Burada ilk parantezde sütun adları, VALUES() içerisinde ise o sütuna karşılık gelecekleri yazdık. Eğer tüm sütunları içeren bir komut kullanıyorsanız sütunların sırasına göre yazabilirsiniz. INSERT INTO tabloadi VALUES('deger1', 'deger2'); Bir kayıttaki değeri UPDATE komutu ile değiştiririz: UPDATE tabloadi SET sutun1='deger1', sutun2='deger2' WHERE kosul1='kosul2'; Buradaki koşul belirtilirken klasik IF – ELSE deyimlerinde olduğu gibi eşleştirmelere gidilir. Mesela id anahtarı 4 olan veride güncelleme yapacaksak koşulumuz id=’4′ olacaktır. Birden fazla koşul belirtiyorsak ve için AND, veya için OR kelimelerini aralarına getiririz, örneğin id=’4′ AND kategori=’2′ gibi. Bir kaydı silmek için koşul belirterek aşağıdaki komutu kullanırız: DELETE FROM tabloadi WHERE sutun1='kosul'; Eğer tüm kayıtları sileceksek WHERE ve sonrasını yazmayarak bu işlemi yaparız. Böylece o tablodaki tüm kayıtlar silinecektir. Kayıtları seçmek, listelemek içinse SELECT komutu kullanırız. Bu kodun kullanımı aşağıdaki gibidir: SELECT sutun1, sutun2 FROM tabloadi WHERE sutun1='kosul' ORDER BY sira LIMIT 0, 10; Belirtilen komuttaki SELECT sutun1, sutun2 hangi sütunların seçime dahil edileceğini belirler. WHERE ile hangi koşula bağlı kayıtları listeleyeceğimizi anlatırız. ORDER BY sira, kayıtların neye göre sıralanacağını. Buraya bir sütun adı gelir. Eğer sayısal ise küçükten büyüğe, ORDER BY sutun1 DESC dersek büyükten küçüğe. Alfasayısal ise A’dan Z’ye, DESC varsa sonunda Z’den A’ya sıralar. LIMIT 0, 10 olarak belirttiğimiz ise kaç kayıt listeleneceği ve nerden başlanacağı. Burada ilk kayıttan başlanıp 10 kayıt listelenir. LIMIT 10, 20 dersek. 10. kayıttan başlar ve 20 tane sıralar. Sevgilerimizle… Venus Programlama