mysql 命令 部落格園 MySQL 常用命令

2021-10-19 17:15:25 字數 4600 閱讀 4547

mysql -uroot -p********* //登陸mysql

mysqladmin -u 使用者名稱 -p 舊密碼 password 新密碼

建立資料庫並分配使用者

create database //建立資料庫

grant select,insert,update,delete,create,drop,alter on 資料庫名.* to 資料庫名@localhost identified by '密碼';

set password for '資料庫名'@'localhost' = old_password('密碼');

show databases //顯示資料庫

drop database //刪除資料庫

use //連線資料庫

select database(); //當前選擇的資料庫

select version(); //顯示mysql版本

select now(); //顯示當前時間

select dayofmonth(current_date); //顯示日

select month(current_date); //顯示月

select year(current_date); //年

select "welecome to my blog!"; //顯示字串

show create table 表名; //檢視表結構

select concat(f_name, " ", l_name) as name from employee_data where title = 'marketing executive'; ; //拼接字串

建立表create table ( [,.. ]); //建立表

例如,建立一張名為myclass的表

欄位名數字型別

資料寬度

是否為空

是否主鍵

自動增加

預設值id

int否

primary key

auto_increment

name

char

否***

int否

degree

double

是mysql> create table myclass(

> id int(4) not null primary key auto_increment,

> name char(20) not null,

> *** int(4) not null default '0',

> degree double(16,2));

刪除表drop table //刪除表

例如,刪除表名為 myclass 的表

drop table myclass;

drop table用於取消乙個或多個表。您必須有每個表的drop許可權。所有的表資料和表定義會被取消,所以使用本語句要小心!

注意:對於乙個帶分割槽的表,drop table會永久性地取消表定義,取消各分割槽,並取消儲存在這些分割槽中的所有資料。drop table還會取消與被取消的表有關聯的分割槽定義(.par)檔案。

對與不存在的表,使用if exists用於防止錯誤發生。當使用if exists時,對於每個不存在的表,會生成乙個note。

restrict和cascade可以使分割槽更容易。目前,restrict和cascade不起作用。

插入資料

insert into [( [,.. ])] values ( 值1 )[, ( 值n )]; //插入資料

例如:往表 myclass中插入二條記錄, 這二條記錄表示:編號為1的名為tom的成績為96.45, 編號為2 的名為joan 的成績為82.99, 編號為3 的名為wang 的成績為96.5。

insert into myclass values(1,'tom',96.45),(2,'joan',82.99), (2,'wang', 96.59);

注意:insert into每次只能向表中插入一條記錄。

查詢表中的資料

select × from < 表名 > where < 表示式 > //查詢表中的資料

刪除表中的資料

delete from 表名 where 表示式 //刪除表中的資料

例如:刪除表 myclass中編號為1 的記錄

delete from myclass where id=1;

修改表中的資料

update myclass set name='mary' where id=1; //修改表中的資料

例子1:單錶的mysql update語句:

update [low_priority] [ignore] tbl_name set col_name1=expr1 [, col_name2=expr2 ...] [where where_definition] [order by ...] [limit row_count]

例子2:多表的update語句:

update [low_priority] [ignore] table_references set col_name1=expr1 [, col_name2=expr2 ...] [where where_definition]

update 語法可以用新值更新原有錶行中的各列。set子句指示要修改哪些列和要給予哪些值。where子句指定應更新哪些行。如果沒有where子句,則更新所有 的行。如果指定了order by子句,則按照被指定的順序對行進行更新。limit子句用於給定乙個限值,限制可以被更新的行的數目。

增加字段

alter table 表名 add欄位 型別 其他; //增加字段

例如:在表myclass中新增了乙個欄位passtest,型別為int(4),預設值為0

alter table myclass add passtest int(4) default '0'

加索引alter table 表名 add index 索引名 (欄位名1[,欄位名2 …]);

例子:alter table employee add index emp_name (name);

加主關鍵字的索引

alter table 表名 add primary key (欄位名);

例子:alter table employee add primary key(id);

加唯一限制條件的索引

alter table 表名 add unique 索引名 (欄位名);

例子:alter table employee add unique emp_name2(cardnumber);

刪除某個索引

alter table 表名 drop index 索引名;

例子:alter table employee drop index emp_name;

增加字段

alter table table_name add field_name field_type;

修改原欄位名稱及型別

alter table table_name change old_field_name new_field_name field_type;

刪除字段

mysql alter table table_name drop field_name;

修改表名

rename table 原表名 to 新錶名; //修改表名

例如:在表myclass名字更改為youclass

rename table myclass to youclass;

當你執行 rename 時,你不能有任何鎖定的表或活動的事務。你同樣也必須有對原初表的 alter 和 drop 許可權,以及對新錶的 create 和 insert 許可權。

如果在多表更名中,mysql 遭遇到任何錯誤,它將對所有被更名的表進行倒退更名,將每件事物退回到最初狀態。

rename table 在 mysql 3.23.23 中被加入。

備份資料庫

1.匯出整個資料庫

匯出檔案預設是存在mysql\bin目錄下

mysqldump -u 使用者名稱 -p 資料庫名 > 匯出的檔名

mysqldump -u user_name -p123456 database_name > outfile_name.sql

2.匯出乙個表

mysqldump -u 使用者名稱 -p 資料庫名 表名》 匯出的檔名

mysqldump -u user_name -p database_name table_name > outfile_name.sql

3.匯出乙個資料庫結構

mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql

-d 沒有資料 –add-drop-table 在每個create語句之前增加乙個drop table

4.帶語言引數匯出

mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql

例如,將aaa庫備份到檔案back_aaa中:

cd /home/data/mysql

mysqldump -u root -p --opt aaa > back_aaa

mysql 命令 部落格園 MySQL 命令

mysql 命令 mysql h主機位址 u使用者名稱 p密碼 連線mysql 如果剛安裝好mysql,超級使用者root是沒有密碼的。例 mysql h110.110.110.110 uroot p123456 注 u與root可以不用加空格,其它也一樣 exit 退出mysql mysqladm...

mysql部落格園 mysql

一 聯合查詢 在兩種情況下可能用到 1 想要的結果在一條語句中會引起邏輯衝突,只能放在兩條語句中是要使用聯合查詢 2 一張表的資料量非常大時,會分隔成多張表儲存,要查詢時也要用到聯合查詢 2,聯合查詢中的order by必須搭配上limit關鍵字才能生效!因為系統預設的聯合查詢的結果往往比較多,所以...

mysql 命令 部落格園 常見的MySQL命令大全

一 連線mysql 1.連線到本機上的mysql 首先在開啟dos視窗,然後進入目錄 mysqlbin,再鍵入命令mysql uroot p,回車後提示你輸密碼,如果剛安裝好mysql,超級使用者root是沒有密碼的,故直接回車即可進入到mysql中了,mysql的提示符是 mysql 2.連線到遠...