MySQL能夠說是最經常使用的小型數據庫,加上如今愈來愈流行的分佈式架構,哪怕是通常的中大型項目也能夠用MySQL來進行部署。mysql
數據庫的操做最經常使用的就是增刪改查,還有一些切換數據庫等操做。如下命令不加說明的,均是MySQL模式下命令,命令行模式下的命令要設置好系統環境變量才能使用。sql
增數據庫
建立數據庫架構
create database if not exists 數據庫名 default charset utf8 collate utf8_general_ci;分佈式
若是數據庫不存在則建立數據庫 使用utf-8默認字符集爲utf8_general_ciide
建立表函數
create table table_namespa
(字段名1 字段類型 not null,字段名2 字段類型,primary key(字段名2))命令行
建立表的同時,爲字段名1添加非空約束,設置字段名2爲主鍵排序
插入數據
Insert into 表名 values(所有字段值)
Insert into 表名(字段名1,字段名2) values(字段1值,字段2值) //數據只有部分字段值
建立用戶
create user 「用戶名」@」host」 identified by 「密碼」 //host爲登陸ip,能夠是localhost或者其餘ip地址,如果任意ip可登陸,使用%
刪
刪除數據庫
drop database if exists數據庫名
刪除表
drop table if exists表名
刪除數據
delete from 表名 where 條件 //不加where 條件,則刪除全部數據
刪除用戶
drop user 「用戶名」@」host」
改
更新數據
Update table_name set 字段名 = 屬性新值 where 條件
受權用戶
grant 權限 on 數據庫.表名 to 「用戶名」@」host」 with grant option
//權限包括select、update、insert、delete等等,可使用all表示全部權限;後面的with grant option,表示該用戶能夠把本身的該權限賦予其餘用戶
撤銷用戶受權把grant改爲revoke,其餘格式一致
更改密碼
set password for 「用戶名」@」host」 = password(「新密碼」)
在命令行模式下,可使用mysqladmin 命令
mysqladmin -uroot -p舊密碼 password 新密碼 //僅可更改本地MySQL用戶密碼
查
select * from 表名 where條件 (groud by ,order by,having)
select能夠說是數據庫中最經常使用的命令了。
1.*可使用表中指定字段代替,查詢結果僅顯示指定字段
2.select distinct 去重查詢,distinct要緊接着select
3.select * into 表名2 from 表名1 //使用查詢結果建立一個表2(表2以前不存在),into 表名要在from前面
4.groud by 字段1 ,查詢結果以字段1分組,相同的爲一組(查詢字段中要包括字段1)
5.order by 字段 1 ,查詢結果以字段1排序(默認升序),字段1後加上空格,desc排序爲降序,升序用asc
6.having 條件,where與having一樣是篩選條件,區別
where是直接篩選表中數據,不能使用函數
having是對篩選出來、分組了的數據再進行篩選,可使用函數
若是使用having不使用函數的話,直接把條件放在where裏就能夠了
查詢表結構
desc 表名
查詢有哪些數據庫
show database
查詢當前使用數據庫名
select datebase()
查詢用戶及對應登陸權限host
select host,user from mysql.user
其餘經常使用操做命令
切換數據庫
use 數據庫名
啓動/中止mysql
net start/stop mysql
登陸用戶,命令行模式(不是mysql模式下)
mysql -u用戶名 -p密碼 -h目標地址
如果登陸本地mysql能夠不用-h
退出
exit
導入數據庫
source path/*.sql
導出數據庫,命令行模式下
mysqldump -u用戶名 -p密碼 -h目標ip >path/*.sql
最後
想使用圖形化界面管理數據庫,我的推薦使用navicat,一款很好用的數據庫管理軟件,功能十分強大。