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.連線到遠...