Mysql 基礎知識積累


一、顯示數據庫的全部表名稱

show TABLES like 't_school'mysql

select * from INFORMATION_SCHEMA.TABLES like 't_school'sql

二、顯示錶結構

describe 表名 、 desc  表名 , 相似於命令 sp_text table數據庫


三、刪除表

drop table IF EXISTS 表名 , 有個好處就是在表不存在的時候也不會報錯。oracle


四、複製表結構

create table 新表 like 舊錶;注意只是複製表結構,主鍵也會複製成功,該表必須不存在函數

create table t_hwp select * from t_classes; 複製表結構和數據,可是不會複製主鍵sqlserver


五、顯示建表語句

show create table 表名;相似於 sqlserver 命令 sp_helpspa


六、清空表數據

truncate table 表名;這個和 delete from 表名 差很少日誌

差別:orm

效率上truncate比delete快,但truncate刪除後不記錄mysql日誌,不能夠恢復數據。server

delete的效果有點像將mysql表中全部記錄一條一條刪除到刪完,

而truncate至關於保留mysql表的結構,從新建立了這個表,全部的狀態都至關於新表。


七、修改表結構

1)給列改名

>alter table 表名稱 change 字段名稱 字段名稱 

2)給表改名

>alter table 表名稱 rename 表名稱

3)修改某個表的字段類型及指定爲空或非空 

>alter table 表名稱 change 字段名稱字段名稱 字段類型 [是否容許非空];

>alter table 表名稱 modify 字段名稱字段類型 [是否容許非空];

四、修改某個表的字段名稱及指定爲空或非空

>alter table 表名稱 change 字段原名稱字段新名稱 字段類型 [是否容許非空];


八、修改表結構

1)增長一個字段(一列)

>alter table table_name add column column_name type default value;

type指該字段的類型,value指該字段的默認值

2)更改一個字段名字(也能夠改變類型和默認值)

>alter table table_name change sorce_col_name dest_col_name type defaultvalue; 

source_col_name指原來的字段名稱,dest_col_name 指改後的字段名稱 

3)改變一個字段的默認值

>alter table table_name alter column_name set default value;

4)改變一個字段的數據類型

>alter table table_name change column column_name column_name type;

5)向一個表中增長一個列作爲主鍵

>alter table table_name add column column_name type auto_increment PRIMARYKEY;

6)將兩個表裏的數據拼接後插入到另外一個表裏。

>insert into tx select t1.com1,concat(t1.com2,t2.com1) from t1,t2;

7)刪除字段

>alter table form1 drop column 列名;


九、查詢時使用的日期函數

 1)year(data):返回data表達式中的公元年分所對應的數值

 2)month(data):返回data表達式中的月分所對應的數值

 3)day(data):返回data表達式中的日期所對應的數值


十、查詢當中的 group by 謹慎使用

之因此說要謹慎使用是由於,在oracle、SQLServer、PostgreSQL等數據庫管理系統下,都是這樣規定的,在查詢時若是沒有使用group by 的字段,若是在是查詢字段那麼必須使用聚合函數包裝起來,在mysql這裏竟然不須要,而後我驗證了一下結果發現,mysql雖然不會報錯,可是查詢結果倒是錯誤的,他只是返回知足結果的第一條記錄,由於他是先 group by 字段看有多少條。

不管如何,使用 group by 時,必須保證標準語法。另外distinct的效率沒有group by 高,若是須要使用去重時,就可使用 group by 替換 distinct 。 


十一、limit 的使用

limit 0 , 10  意思是從第一條記錄開始,查詢10條。

相關文章
相關標籤/搜索