程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MYSQL入門知識 >> MySQL的常用操作命令整理大全

MySQL的常用操作命令整理大全

編輯:MYSQL入門知識
 

備注: 用戶登錄MySQL後,對數據庫操作的命令基本都以”;” 或 “\g”結尾。

一. MySQL服務操作:

啟動MySQL服務:
net start mysql


停止MySQL服務:
net stop mysql


進入MySQL數據庫:
mysql -h 主機地址 -u用戶名 -p用戶密碼


退出MySQL操作:
quit;


刷新數據庫:
flush privileges;


創建數據庫用戶:

一次可以創建多個數據庫用戶,如:
CREATE USER 用戶1 identified BY "密碼1" , 用戶2 IDENTIFIED BY "密碼2";
或者:
grant select on 數據庫.* to 用戶名@登錄主機 identified by "密碼";


程序員高效開發利器:編程水杯
程序員高效開發利器:編程水杯

更改MySQL用戶密碼:
mysqladmin -u用戶名 -p舊密碼 password 新密碼
或者:
update user set password=password("新密碼") where user="用戶名";


用戶的權限控制:

庫,表級的權限控制 : 將某個庫中的某個表的控制權賦予某個用戶:
Grant all ON db_name.table_name TO user_name [ indentified by "password" ];


設置用戶登錄IP限制:
grant all privileges on 數據庫.* to 用戶名@主機地址 identified by "密碼" with grant option;


例如:
// 設置root用戶可在本地訪問所有的數據庫:
grant all privileges on *.* to root@localhost identified by "1234567890" with grant option;
// 設置root用戶可在任何IP地址訪問mydatabase數據庫:
grant all privileges on mydatabase.* to root@"%" identified by "1234567890" with grant option;


刪除用戶登錄IP授權:
revoke all privileges on 數據庫.* from 用戶名@"%";
或者:
delete from user where user="root" and host="%";


刪除SQL用戶:
delete from user where User="用戶名" and Host="主機地址";


二. 數據庫操作:

列出數據庫:
show databases;


使用名為database_name的數據庫:
use database_name;


創建名為database_name的數據庫:
create database database_name;


刪除一個名為database_name的數據庫:
drop database database_name;


三. 表操作:

列出所有表:
show tables;


創建一個名為table_name的新表:
create table table_name;
或者:
create table table_name (字段1 數據類型 , 字段2 數據類型);


刪除表table_name:
drop table table_name;


顯示表table_name的數據結構:
describe table_name;
或:
show columns from table_name;


向表table_name中添加數據:
Insert into table_name [(字段1 , 字段2 , ….)] values (值1 , 值2 , …..);


更新某一個字段的數據:
Update table_name set 字段名="新值" [, 字段2 ="新值" , …..][where id=id_num] [order by 字段 順序];


例 : update mytable set username="lisi" where id=1;。

將表table_name中的記錄清空:
delete from table_name; // 刪除整個表中的信息
delete from table_name where 條件語句 ; // 刪除表中指定條件的語句


顯示表table_name的記錄:
select * from table_name;


修改表名:
alter table table_name rename to new_table_name;


四. 修改表結構:

把某個字段設為主鍵:
alter table table_name add primary key (col_name);


刪除主鍵的定義:
alter table table_name drop primary key (col_name);


增加字段,並設置字段類型:
alter table table_name add col_name varchar(20);


刪除字段:
alter table table_name drop col_name;


修改字段屬性:
alter table table_name modify col_name varchar(40) not null;


修改字段名:
alter table table_name change old_col_name new_col_name varchar(40); // 必須為當前字段指定數據類型等屬性,否則不能修改


用已存在的表來建新表,但不包含舊表的數據:
create table new_table_name like old_table_name;


增加主鍵,外鍵,約束,索引等:

1.約束(主鍵: Primary key、唯一性: Unique、非空: Not Null);
2.自動增張: auto_increment;
3.外鍵: Foreign key。 與reference table_name(col_name列名)配合使用,建表時單獨使用。
4.刪除多個表中有關聯的數據:設置foreign key 為set null。

五. 數據的備份與恢復:

在當前的數據庫上執行外部的SQL腳本:
mysql < extend.sql


指定數據庫執行外部SQL腳本:
mysql [表名] < extend.sql


數據傳入:
load data local infile "[文件名]" into table [表名];


備份數據庫:
mysqldump -h 主機地址 -u 用戶名 -p 數據庫名 > dbname_backup.sql


恢復數據庫:
mysqladmin -h 主機地址 -u 用戶名 -p create 新數據庫名
mysqldump -h 主機地址 -u 用戶名 -p 新數據庫名 < dbname_backup.sql


卸出建表指令:
mysqladmin -u 用戶名 -p -d 數據庫名 > a.sql


卸出插入數據的sql命令,不包含建表命令:
mysqladmin -u 用戶名 -p -t 數據庫名 > a.sql


卸出數據,不包含sql命令:
mysqldump -T 卸出數據的目錄 phptest 指定卸出的數據表


其中,只有指定了 -T 參數才可以卸出純文本文件。如果不指定卸出的數據表,則將卸出整個數據庫的數據。每個表會生成兩個文件,一個為.sql文件,包含建表執行;另一個為.txt文件,只包含數據,且沒有sql指令。

六. 查看數據庫信息:

查看數據庫版本號:
select version();


查看當前的user:
select user();


查看當前操作的數據庫名:
mysql> select database();

 

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved