天天看點

基于mysql資料庫的基礎知識一

基于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