本人初入博客園,第一次寫博客,在今后的時間里會一點點的提高自己博客的水平,以及博客的排版等。
在今天,我學習了一下MySQL數據庫的基本知識,相信關於MySQL的資料網上會有很多,所以我就不在這里復制粘貼了,在這里留下一些本人在初學MySQL時的一些筆記,以供有需要的同學來參考。以下內容絕無復制,僅僅是博主自己的一些總結。
字段類型
- 數字:int,decimal(小數)
eg:decimal(5,2):一共包含5位數,小數部分有2位
- 字符:char(存的字符是固定的),varchar(存的字符是可變的),text(大文本)
eg:char(8)8個字符,不足補空格,varchar(8)自動截取
- 日期:datatime
- 布爾:bit
eg:bit(8)表示存了8個二進制位,不寫則默認一個
約束
- 主鍵:primary key
- 非空:not null
- 唯一:unique
- 默認:default
- 外鍵:foreign key
終端(以分號結尾)
- 終端連接服務器 mysql -uroot -p
- 推出mysql:exit,quit,ctrl+c
- 查看版本:select version();
- 顯示當前時間:select now();
- 鏈接遠程服務器:mysql -hip地址 -uroot -p
(若修改端口,在后面寫出,若沒改,是原來的3306則不用管)
-h | 后面寫要連接的主機地址 |
-u | 后面寫要連接的主機名 |
-p | 回車后寫密碼 |
數據庫操作
- 創建數據庫:create database 數據庫名 charset=utf8;
- 刪除數據庫:drop database 數據庫名;
- 切換數據庫:use 數據庫名;
- 查看當前選擇的數據庫:select database();
- 顯示現有數據庫:show databases;
- 查看數據庫中有哪些表:show tables;
數據庫中表操作
- 創建表:creat table 表名(列及類型)auto_increment表示自動增長
eg:creat table students(
id int auto_increment primary key,
name varchar(10) not null
);
上面截圖中default將小括號去掉,空格代替
- 查看表結構:desc 表名;(describe)
- 修改表:alter table 表名 add|change|drop 列名 類型;
eg:alter table students add birthday datatime;
*注:修改列的時候列的名字不能修改,只能修改類型
- 刪除表:drop table 表名
- 更改表名稱:rename table 原表名 to 新表名
- 查看表的常見語句:show create table ‘表名’;
數據操作
- 查詢:select * from 表名;
- 添加數據:
全列添加:insert into 表名 values(…)
eg:insert into students values(0,'曹操',1,'1999-2-3',0);*注:其中的0,並不一定生產0,而是內部自動會生成,此處寫的0是為了占位。
缺省插入:insert into 表名(列1,…)values(值1,…)
同時插入多條數據:insert into 表名 values(…)(…)…;
或:insert into 表名(列1,…) values(…)(…)…;
- 修改:update 表名 set 列1=值1,…where 條件
*注:where可以是id序列,不寫則會導致所有行被修改
- 刪除:delete from 表名 where 條件(物理刪除,一旦刪除不可恢復)
*對比:邏輯刪除,其實就相當於修改再進行篩選。
eg:delete from students where id=3;(物理刪除)
updata students set isDelete=1 where id=3;
select * from students where isDelete=0;(邏輯刪除)
備份與恢復
- 備份:首先進入MySQL的庫目錄,然后運行備份命令。
mysqldump -uroot -p 數據庫名 > 目標路徑及文件名(.sql文件)
按提示輸入mysql的密碼。
- 恢復:
mysqldump -uroot -p 新數據庫名 < 已備份的文件(.sql文件)
博客地址:http://www.cnblogs.com/yudanqu/
轉載請注明來源