初學mysql(四)

1、增加一列:
如在前面例子中的mytable表中增加一列表示是否單身single:
mysql> alter table mytable add column single char(1); 
2、修改記錄
將abccs的single記錄修改爲“y”:
mysql> update mytable set single=′y′ where name=′abccs′;     現在來看看發生了什麼:

mysql> select * from mytable; 
+----------+------+------------+-----------+--------+
| name | sex | birth | birthaddr | single |
+----------+------+------------+-----------+--------+
| abccs |f | 1977-07-07 | china | y |
| mary |f | 1978-12-12 | usa | NULL |
| tom |m | 1970-09-02 | usa | NULL |
+----------+------+------------+-----------+--------+

3、增加記錄
前面已經講過如何增加一條記錄,爲便於查看,重複與此:
mysql> insert into mytable 
-> values (′abc′,′f′,′1966-08-17′,′china′,′n′);
Query OK, 1 row affected (0.05 sec)

查看一下:
mysql> select * from mytable; 
+----------+------+------------+-----------+--------+
| name | sex | birth | birthaddr | single |
+----------+------+------------+-----------+--------+
| abccs |f | 1977-07-07 | china | y |
| mary |f | 1978-12-12 | usa | NULL |
| tom |m | 1970-09-02 | usa | NULL |
| abc |f | 1966-08-17 | china | n |
+----------+------+------------+-----------+--------+

4、刪除記錄 
用如下命令刪除表中的一條記錄:mysql> delete from mytable where name=′abc′;
DELETE從表中刪除滿足由where給出的條件的一條記錄。
再顯示一下結果:
mysql> select * from mytable; 
+----------+------+------------+-----------+--------+
| name | sex | birth | birthaddr | single |
+----------+------+------------+-----------+--------+
| abccs |f | 1977-07-07 | china | y |
| mary |f | 1978-12-12 | usa | NULL |
| tom |m | 1970-09-02 | usa | NULL |
+----------+------+------------+-----------+--------+

5、刪除表:
mysql> drop table ****(表1的名字),***表2的名字;
可以刪除一個或多個表,小心使用。
6、數據庫的刪除:
mysql> drop database 數據庫名;
小心使用。
7、數據庫的備份:
退回到DOS:
mysql> quit
d:mysqlbin
使用如下命令對數據庫abccs進行備份:
mysqldump --opt abccs>abccs.dbb
abccs.dbb就是你的數據庫abccs的備份文件。
8、用批處理方式使用MySQL:
首先建立一個批處理文件mytest.sql,內容如下:
use abccs; 
select * from mytable;
select name,sex from mytable where name=′abccs′;

在DOS下運行如下命令:d:mysqlbin mysql < mytest.sql
在屏幕上會顯示執行結果。
如果想看結果,而輸出結果很多,則可以用這樣的命令: mysql < mytest.sql | more
我們還可以將結果輸出到一個文件中: mysql < mytest.sql > mytest.out
學習mysqldump、drop、C停止命令、alter
另外mysqldump可以和管道結合gzip使用。

mysql> insert ignore into menus(id,label,url) values(4,'Contact us','contac
ignore關鍵字可以讓重複鍵值跳過不執行。

在這種情況下,我們還可以通過添加MySQL4.1新增加的ON DUPLICATE KEY UPDATE子句,使MySQL自動把INSERT操作轉換爲UPDATE操作。這個子句必須具有需要更新的字段列表,這個列表和UPDATE語句使用的列表相同。
  1. mysql> insert into menus(id,label,url) values(4,'Contact us','contactus.html')  
  2.    -> on duplicate key update label='Contact us',url='contactus.html';  
  3. Query OK, 2 rows affected (0.05 sec)
這個方法貌似麻煩,有相同鍵值,然後更新。還不如直接用update 語句。
mysql密碼忘記:
使用`--skip-grant-tables' 參數來啓動 mysqld。 (LINUX下/usr/bin/safe_mysqld --skip-grant-tables , windows下c:\mysql\bin\mysqld --skip-grant-tables) 
mysqladmin -h hostname -u user password 'new password'
mysqladmin -h hostname flush-privileges

檢查優化並修復所有的數據庫用:
# mysqlcheck -A -o -r -p
Enter password:
guestbook.simpgb_avatars OK
guestbook.simpgb_bad_words OK
guestbook.simpgb_banlist OK
guestbook.simpgb_data OK
......
......
......
修復指定的數據庫用
# mysqlcheck -A -o -r Database_NAME -p

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章