記得當時騰訊實習生一面的時候被面試官問會不會用數據庫,我回答會,但是只會比較基礎。。。。最後還被問這麼多東西掌握得不好(幸好沒用“不會”),為什麼不找時間補補。。。。。被狠狠地鄙視。。。
唉,自己的確做的不好。所以把數據庫這一塊也補補。
雖然之前課程有學SQLServer,但是很多時候都只是應付一下考試,不過有對數據庫的初步認識。打算通過《MySQL in a nutshell》來學習MySQL。
這篇文章主要是記錄基礎用法。。。。。
MySQL的安裝:
在Debian裡我直接通過aptitude install mysql 安裝。。。。。好像沒有難度。
MySQL的配置文件:
在Debian裡,MySQL的配置文件為/etc/mysql/my.cnf (內容如下:)
View Code該配置文件是可以進行修改的。。。。。
首先來檢查一下MySQL的守護進程是否運行:
lancelot@debian:~/Code/Mysql$ -e | ? :: ? :: mysqld
登錄:
lancelot@debian:~/Code/Mysql$ mysql -u root -p
輸入密碼後就登錄成功!登錄後的界面如下:
is .-+, , Oracle and// or help. Type to >
查看存在的用戶:
mysql , Host mysql. Host rick .wiley.com root . rick .. root :: debian root debian localhost debiansysmaint localhost rick localhost root localhost wordpress localhost rows ( sec)
修改用戶密碼:
mysql PASSWORD @PASSWORD( rows affected ( sec)
添加用戶:
mysql . @ IDENTIFIED rows affected ( , Host mysql. Host rick .wiley.com root . rick .. root :: debian root debian localhost alan localhost debiansysmaint localhost rick localhost root localhost wordpress localhost rows ( sec)
添加數據庫並查看當前擁有的數據庫:
mysql row affected ( information_schema book bookstore mysql performance_schema rick student test wordpress rows ( sec)
mysql book_id title ( author ( rows affected ( sec)
查看表的信息:
mysql Field Type Extra book_id () YES title () YES author () YES rows ( sec)
接下來因為覺得很多語句如果直接在mysql命令行裡直接敲出錯的時候又要重新敲一遍不太方便,所以將語句放在一個文件,在mysql執行該文件。
修改表的信息:
sql文件:
book_id book_id AUTO_INCREMENT author author_id description genre ENUM(,, publisher_id pub_year ( isbn ();
執行文件後,表的變化:
mysql \. rows affected ( Duplicates: Warnings: Field Type Extra book_id () NO PRI auto_increment title () YES author_id () YES description YES genre enum(,,) YES publisher_id () YES pub_year () YES isbn () YES rows ( sec)
將book_id設置為主鍵並且自動增加,修改作者的名字變成作者ID,添加書本的描述,添加書本的類型,添加出版社ID,添加出版年份,添加書本isbn
添加作者表:
sql文件:
AUTO_INCREMENT ((());
執行後結果:
mysql \. rows affected ( Field Type Extra author_id () NO PRI auto_increment author_last () YES author_first () YES country () YES rows ( sec)
顯示當前的所有表:
mysql Tables_in_book authors books rows ( sec)