mysql 命令列其實就是用sql來操作mysql資料庫:
1. 登入mysql:mysql -u使用者名稱 –p 回車 輸入密碼
//mysql命令對應的可執行檔案在home/mysql/bin目錄下,該目錄新增到環境變數path,shell程式執行mysql命令時,會根據path找到該目錄
2. 顯示資料庫:show databases [like wild];//wild可以是使用sql的『%』『_』萬用字元的字串
3. 建立資料庫: create database 資料庫名;
刪除資料庫:drop database [if exists]資料庫名;//刪除資料庫中所有表,及對應的.frm檔案,和.myd,.myi檔案
注:也可以在shell下使用命令mysqladmin 命令進行資料庫的建立與刪除
shell> mysqladmin –u mysql –p create資料庫名;//mysqladmin同mysql命令一樣,其對應的可執行程式在home/mysql/bin下
shell> mysqladmin –u mysql –p drop 資料庫名;
4. 選擇要運算元據庫:use 資料庫名;
5. 顯示資料庫中表:show tables;
6.建立表:create table 表名();
刪除表:drop table 表名;
注意:1.命令列以分號結束
2.建立表時最後乙個欄位是不加逗號的,否則會報錯
create table test
name varchar(30),
age int
7. 當要在資料庫中建立很多表時,對每個表在命令列中進行create,會很麻煩,而且容易出錯而不易除錯,
可以建立乙個.sql檔案,在該檔案中,寫入建表語句,再在命令列中使用source命令,即
source mysql-create.sql
最好同時建立乙個mysql-delete.sql比較安全
8. 檢視表結構:describe 表名;(其實也可以檢視表的列數)
9. 檢視表的列數:show fields from 表名;
10. 對錶結構進行修改:alter table 表名
add [column] 列名 資料型別 [not null default 0][first|after列名];//增加字段,可以指定特定位置
add [constraint 約束名] primary key(列名);//新增主鍵或稱為主索引
add constraint 約束名 primary key(列1,列2);//多個字段組成主鍵
add [constraint 約束名symbol]foreign key [index_name](列名)reference 另一表名(列名)
[on delete ][on update]
注:1.表必須是innodb型別的,因為只有innodb儲存引擎執行新增外鍵子語,對於其他引擎會分析這些子句,但會忽略
2.對於check子句,所有的儲存引擎會進行分析,但會忽略
add [constraint 約束名] unique index_name(列);
drop [column] 列名;//刪除字段
drop inex index_name;//這裡和oracle ,sql server ,ms access不同,mysql對sql的擴充套件
drop primary key;
drop foreign key 約束名(fk_symbol);
alter 列名 set default 預設值;//對某欄位增加預設值
alter 列名 set not null ;對某欄位設定為非空
change 列名 新列名 新型別[first|after 列名];/改變某字段的型別,也可以改變名字
modify 列名 新型別[first|after 列名];//oracle對alter table 的擴充套件
注:alter table 表名 後可接多個add,drop ,alter 子句,各子句用逗號隔開,
11.對錶內容進行修改:update 表名 set 欄位1 =值1,欄位2=值2 where條件;
12.向表中插入內容:insert 表名(欄位1,欄位2...)values(值1,值2...);
load data infile 檔名 into table 表名
13.刪除表中內容:delete [from]表名 where 條件;//刪除符合條件的行
14.檢視mysql版本:
命令status;
注:通過unix socket 連線資料庫
命令select version();
15.檢視修改表型別(即使用的儲存引擎):
show create table 表名;
engine=innodb
修改表型別:
alter table 表名 type=表型別;
MySQL調研筆記1 MySQL調研清單
最近公司正在去微軟化,之前使用的sql server oracle將逐步切換到mysql,所以部門也會跟隨公司步伐,一步步將現有業務從sql server切換到mysql,當然上mysql肯定是上集群和分布式。於是,有了這份結合業務資料調研mysql的清單,後面的日子裡將一點點記錄關於調研過程中的發...
mysql優化(1) mysql事務
事務是mysql等關係型資料庫區別於nosql的重要方面 隨著發展nosql資料庫也開始有了事物的概念 是保證資料一致性的重要手段。本文將首先介紹mysql事務相關的基礎概念,然後介紹事務的acid特性,並分析其實現原理。事務由乙個或多個sql語句組成乙個整體,如果所有的語句執行成功那麼修改將會全部...
MySQL高階1 Mysql架構
安裝目錄 var lib mysql mysql資料庫檔案的存放路徑 usr share mysql 配置檔案目錄 usr bin 相關命令目錄 用於主從複製 預設是關閉的,記錄嚴重的錯誤資訊,每次啟動和關閉等詳細資訊 預設關閉,記錄查詢的sql語句,如果開啟會減低mysql的整體效能,因為記錄日誌...