MySQL數(shù)據(jù)庫分為兩種:
系統(tǒng)數(shù)據(jù)庫
information_schema:
存儲數(shù)據(jù)庫對象信息
如用戶表信息,列信息,根除,字符,分區(qū)
里面的內(nèi)容我們不能動
performance_schema:
存儲數(shù)據(jù)庫服務器性能參數(shù)信息
mysql:
存儲數(shù)據(jù)庫用戶權限信息
sys:
通過這個庫可以快速的了解系統(tǒng)的元數(shù)據(jù)信息(這個庫是通過視圖的形式把information_schema讶隐、performance_schema結(jié)合起來,查詢出更加令人容易理解的數(shù)據(jù))
用戶數(shù)據(jù)庫:
創(chuàng)建數(shù)據(jù)庫:create database 數(shù)據(jù)庫名稱;
刪除數(shù)據(jù)庫:drop database 數(shù)據(jù)庫名稱;
查看數(shù)據(jù)庫:show database;
使用(進入)數(shù)據(jù)庫:use 數(shù)據(jù)庫名稱;
查看數(shù)據(jù)庫當中有多少張表:show tables;
sql功能分類:
DDL: 數(shù)據(jù)定義語言 用來定義數(shù)據(jù)庫對象:創(chuàng)建庫、表同诫、列等
DML: 數(shù)據(jù)操作語言 用來操作數(shù)據(jù)表中的記錄
DQL: 數(shù)據(jù)查詢語言 用來查詢數(shù)據(jù)
DCL: 數(shù)據(jù)控制語言 用來定義訪問權限和安全級別
SQL數(shù)據(jù)類型:
數(shù)值類型
字符串類型
日期和時間類型
常見數(shù)據(jù)類型:
double:浮點型,例如double(5,2)表示最多5位,其中必須有2位小數(shù),即最大值為999.99;
char:固定長度字符串類型;
varchar:可變長度字符串類型;
text:字符串類型
blob:二進制類型
date:提起類型,格式為:yyyy-MM-dd;
time:時間類型,格式為:hh:mm:ss;
datetime:日期時間類型,格式為:yyyy-MM-dd hh:mm:ss
在MySQL中,字符串類型和日期類型都要用單引號括起來香椎。'Myname' '2018-01-01'
創(chuàng)建數(shù)據(jù)庫:
create database 數(shù)據(jù)庫名 character set utf8;
或:create database 數(shù)據(jù)庫名 char set=utf8;
使用(切換)數(shù)據(jù)庫:
use 數(shù)據(jù)庫名
建表命令:
CREATE TABLE 表名 (列名1列名類型 [約束],列名2列名類型 [約束],.....列名N 類的類型 [約束])
添加一列:
ALTER TABLE 表名 ADD 列名 數(shù)據(jù)類型;
查看表的字段信息 :
desc 表名
修改一個表的字段類型:
ALTER TABLE 表名 MODIFY 字段名 數(shù)據(jù)類型;
刪除一列:
alter table 表名 add 列名 varchar()次询;
添加一列:
alter table 表名 drop 列名;
修改表名:
rename table 原始表名 to 要求改的表名奸汇;
查看表的創(chuàng)建細節(jié):
show create table 表名伺绽;
修改表的字符集gbk:
alter table 表名 character set gbk;
修改表的列名:
alter table 表名 change name newname varchar(20)埂奈;
刪除表:
drop table 表名迄损;
插入操作:
insert into表名(列名1,列名2)values(列值1账磺,列值2.......)海蔽;
批量插入:
insert into表名(列名1,列名2绑谣。党窜。。)values(列值1借宵,列值2)幌衣,(列值1,列值2)壤玫,豁护。。欲间。楚里。;
更新數(shù)據(jù):
update表名 set 列名1=列值1猎贴,列名2=列值2....where 列名=值班缎;
修改數(shù)據(jù)庫密碼:
mysqladmin -u root -p password 密碼;
刪除操作:
delete from 表名 where 列名=值她渴;
如果不加過濾條件就是刪除所有數(shù)據(jù)
刪除表內(nèi)所有數(shù)據(jù):
truncate table 表名达址;
去除重復記錄:
select distinct 要去重信息的列名 from 表名;
把查詢字段的結(jié)果進行運算趁耗,必須都要是數(shù)值型:
As select *沉唠,字段1+字段2 新列名from 表名;
排序:
select * from 表名 order by 列名 desc苛败,id desc(降序)满葛;
select * from 表名 order by 列名 asc,id asc(升序)罢屈;
Count()(統(tǒng)計指定列不為null的記錄行數(shù)):
Select count(*) from 表名(where后跟篩選條件)嘀韧;
Sum()計算關鍵字:
Select sum(要計算的列名1),sum(要計算的列名2) from 表名儡遮;
Avg()平均值關鍵字:
Select avg(要求平均值的列名)from 表名乳蛾;
Max()最大值關鍵字:
select max(要求最大值的列名)from 表名;
Min()最小值關鍵字:
Select min(要求最小值的列名)from 表名 鄙币;
按照某個字段進行分組查詢:
Select 需要根據(jù)的字段 from 表名 group by 需要根據(jù)的字段肃叶;