天天看點

MySQL資料庫增删改查等常用指令介紹

MySQL可以說是最常用的小型資料庫,加上現在越來越流行的分布式架構,哪怕是一般的中大型項目也可以用MySQL來進行部署。

資料庫的操作最常用的就是增删改查,還有一些切換資料庫等操作。以下指令不加說明的,均是MySQL模式下指令,指令行模式下的指令要設定好系統環境變量才能使用。

建立資料庫

create database if not exists 資料庫名 default charset utf8 collate utf8_general_ci;

如果資料庫不存在則建立資料庫 使用utf-8預設字元集為utf8_general_ci

建立表

create table table_name

(字段名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,一款很好用的資料庫管理軟體,功能十分強大。

————————————————