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表達式中的日期所對應的數值
之因此說要謹慎使用是由於,在oracle、SQLServer、PostgreSQL等數據庫管理系統下,都是這樣規定的,在查詢時若是沒有使用group by 的字段,若是在是查詢字段那麼必須使用聚合函數包裝起來,在mysql這裏竟然不須要,而後我驗證了一下結果發現,mysql雖然不會報錯,可是查詢結果倒是錯誤的,他只是返回知足結果的第一條記錄,由於他是先 group by 字段看有多少條。
不管如何,使用 group by 時,必須保證標準語法。另外distinct的效率沒有group by 高,若是須要使用去重時,就可使用 group by 替換 distinct 。
limit 0 , 10 意思是從第一條記錄開始,查詢10條。