基于mysql資料庫的基礎知識
顯示目前伺服器版本 SELECTVERSION();
顯示目前日期時間 SELECTNOW();
顯示目前使用者 SELECTUSER();
登入資料庫-----------------MySQL -uroot-p
資料庫
檢視目前所有的資料庫--------SHOW DATABASES;
建立資料庫------------------CREATE DATABASEtb1(資料庫的名稱)
删除資料庫-------------------DROP DATABASE tb1(資料庫的名稱)
進入某個資料庫--------------USE user(資料庫的名稱)
檢視目前所在的資料庫--------SELECT DATABASE();
檢視目前資料庫的資料表情況-------------SHOW TABLES FROMtb1(資料庫的名稱);
更改資料庫的名稱--------------RENAMEDATABASE db_name TO new_db_name可能錯的
擴充:
如果是MyISAM的話.隻要修改DATA目錄下面的那個庫名的檔案夾的名字就OK了
如果是INNODB的話.其實是無法修改庫名的.網上瞎咧咧的什麼RENAMEDATABASE或者ALTER DATABASE都是不行的
一種方法是比較保守的.直接把老庫的内容mysqldump到新庫裡面
還有一種類似上面方法.先altertable 的存儲引擎到MyISAM,然後改了庫目錄的名字,然後再改回來INNODB.
最後一種方法還是比較好的.這邊詳細寫一下.
假設源庫名是’srcdb’,目标庫名是’trgdb’
首先建立目标庫
createdatabase trgdb;
擷取所有源庫的表名
useinformation_schema;
selecttable_name from TABLES whereTABLE_SCHEMA=’srcdb’;
然後按照以下指令一個個修改
renametable srcdb.[tablename] to trgdb.[tablename];
一個個執行下來之後表就轉到新的庫裡面了.
資料表
建立資料表-----------------CREATE TABLE table_name(id int not null primarykey);
删除資料表------------------------DROP TABLESt6(資料表的名稱)
檢視資料表的清單、結構、有的屬性-------------SHOW COLUMNSFROM t1(資料表的名稱); 或許這裡還有一個WHERE條件
修改資料表、表中的結構、屬性
增、删、改、查
1.增
向資料表中插入(資料列)屬性----------ALTER TABLEpersion資料表名稱 ADD sex資料列名稱VARCHAR(20)資料類型;
2.删
删除列的一些定義----------------ALTERTABLE persion資料表名稱 DROP sex資料列名稱 VARCHAR(20)資料類型;
3.修改資料表
添加單列
ALTER TABLE tbl_name ADD [column]col_name [FIRST | AFTER]放在列前還是後的(這加上列的性質)(DEFAULT預設值最後或是不寫)col_name1
添加多列
ALTER TABLE tbl_name ADD [columns](col_name名columns_definition屬性類型...)
删除列
ALTER TABLE tbl_name DROP [columns] col_name;
修改列定義,修改位置,修改屬性
ALTER TABLE persion MODIFY username(及屬性的定義)
修改列名稱
ALTER TABLE persion CHANGE username1 username2;
修改表名
ALTER TABLE user1 RENAME user2;
RENAME TABLE user1 TO user2;
資料表資料
增
向資料表中的資料列插入資料---------------INSERTpersion(資料表的名稱) (username資料表的列名)VALUES("name1資料名字")或是('···')
删
删除\更改-----------------DELETE FROMpersion表名字 where 條件語句...
删除資料
DELETE FROM persion資料表的名稱 WHERE id=3(要删除的條件);
改/更新
···························································
更新記錄
UPDATE persion SET age = age+5;
4.查
檢視資料表中的資料資訊-----------SELECT * FROMpersion(資料表的名稱);
查找
SELECT username,id(資料表列名稱) FROM persion(資料表名稱);
把查詢到的記錄插入到别的表中
INSERT user(資料子表) SELECT username1 FROM user(資料父表) WHEREage>=30;
查詢結果分組
GROUP BY sex=1;或是id等
分組條件
GROUP BY 1 HAVING age>35
對查詢結果進行排序
SELECT * FROM user ODER BY id或是age DESC/ASC;
傳回多少條查詢結果
SELECT *FROM user LIMIT 3(從哪個位置開始),2(取多行的資料);
SHOW TABLES;
用戶端以gbk的編碼方式顯示,不影響真實資料SET NAMES gbk;
\G; 這個東西的 意思-------以表格的形式顯示資料資訊,在語句的後面加上\g