分類:DDL—數據定義語言(CREATE,ALTER,DROP,DECLARE)DML—數據操縱語言(SELECT,DELETE,UPDATE,INSERT)DCL—數據控制語言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,簡要介紹基礎語句:
一、
鏈接數據庫
Mysql –h服務器地址
–u用戶名
–p密碼
注:-h通常不用
二、
增長用戶
Grant select on 數據庫.* to 用戶名@登錄主機地址 identified by 「密碼」;
例如:GRANT Select,Insert,Delete,Update ON samp.* TO bill@snake.net INDETIFIED BY "rock"
創建遠程用戶
GRANT ALL PRIVILEGES ON *.* TO 'andy'@'%' IDENTIFIED by 'password';
刪除用戶
Delete from user where user=’test2’ and host=’localhost’;
三、
更改密碼
Mysqladmin –u 用戶名
–p舊密碼 password 新密碼
或
進入數據庫使用:
Mysql> Update mysql.user set password=password(‘新密碼’) where user=’root’;
Mysql> flush
privileges;(刷新數據庫)
4
、忘記mysql
密碼
關閉當前運行的mysqld服務程序:service mysqld stop(要先將mysqld添加爲系統服務)
使用mysqld_saft腳本以安全模式(不加載受權表)啓動mysqld 服務
/usr/local/mysql/bin/mysqld_saft --skip-grant-table &
使用空密碼的root用戶登陸數據庫,從新設置ROOT用戶的密碼
#mysql -u
root
Mysql> Update mysql.user set password=password(‘新密碼’) where user=’root’;
Mysql> flush
privileges;
5
、
顯示數據庫
Show databases;
6
、顯示庫中數據表
Use 數據庫名;
Show tables;
7
、顯示錶結構
Use
數據庫;
Desc
表名;
8
、建立庫
create database database-name;
9
、建立表
Use 數據庫;
Create table 表名 (字段設定列表);
(具體字段設置再查閱)也可默認不加字段設定列表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)根據已有的表建立新表:
A:create table tab_new like tab_old (使用舊錶建立新表)B:create table tab_new as select col1,col2… from tab_old definition only
10
、刪除數據庫或刪除表
drop database dbname;
drop table tablename;
delete from table1 where 範圍
11
、插入數據
Insert into user(字段名稱一、字段名稱2)value(字段值1,字段值2);
insert into table1(field1,field2) values(value1,value2);
12
、查詢數據
Select * from 表名where 條件
例如:select pwd,username from tableName where Login_name='123';
select * from user where id=2;
查找:select * from table1 where field1 like ’%value1%’ ---like;的語法很精妙,查資料!
選擇:select * from table1 where 範圍;
排序:select * from table1 order by field1,field2 [desc] ;
總數:select count(*) as totalcount from table1 ;
求和:select sum(field1) as sumvalue from table1 ;
平均:select avg(field1) as avgvalue from table1 ;
最大:select max(field1) as maxvalue from table1 ;
最小:select min(field1) as minvalue from table1;
13
、更新數據
Update 表名 set 字段名稱=值 where 條件;
例如:update tableName set Login_name = '456',pwd=123 where Username='1';
Update user set username=’china’ where id=2;
14
、清空表中記錄
Delete from表名 條件;
例如:delete from user where id=2;
15
、增長字段
alter table表名add column字段名字體類型default;
例如:alter table user add column tel varchar(12) default;
1六、更改字段名稱
Alter table表名change原字段名稱
改後字段名稱字體類型default;
例如:alter table user change tel intro varchar(33) default null;
1七、更改字段默認值
Alter table表名alter字段名稱set default;
例如:alter table user alter tel set default null;
1八、更改字段數據類型
Alter table表名change column原字段名稱改後字段名稱類型;
例如:alter table user change column username username varchar(20);
1九、更改表名
Alter table舊錶名rename [to]新表名;
例:Alter table aa rename to stuinfo;
20、給列更名
alter table pet change weight wei int;
增長列
alter table tbl_name add col_name type
例如,給表增長一列weight
mysql>alter table pet add weight int;
刪除列
alter table tbl_name drop col_name
例如,刪除列weight:
mysql>alter table pet drop weight;
改變列
alter table tbl_name modify col_name type
例如,改變weight的類型:
mysql> alter table pet modify weight samllint;
另外一種方法是:
alter table tbl_name change old_col_name col_name type
例如:
mysql> alter table pet change weight weight samllint;
2一、增長主鍵
Alter table表名add column字段名字體類型auto_increment PRIMARY KEY;
2二、備份mysql
Mysqldump –u root –p 數據庫名 > 存儲位置 備份名字
格式:mysqldump -u 用戶名 -p 密碼 數據庫名 表名 >備份的路徑
1)MySQL數據庫備份命令 備份MySQL數據庫的命令
mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql
-p後面若是緊貼着密碼那麼無需再次輸入。
2)備份MySQL數據庫並刪除表的格式,可以讓該備份覆蓋已有數據庫而不須要手動刪除原有數據庫。
mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql
3)直接將MySQL數據庫壓縮備份
mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz
4)備份MySQL數據庫某個(些)表
mysqldump -hhostname -uusername -ppassword databasename specific_table1 specific_table2 > backupfile.sql
5)同時備份多個MySQL數據庫
mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql
6)僅僅備份數據庫結構
mysqldump –no-data –databases databasename1 databasename2 databasename3 > structurebackupfile.sql
備份服務器上全部數據庫
mysqldump –all-databases > allbackupfile.sql
還原MySQL數據庫的命令
mysql -hhostname -uusername -ppassword databasename < backupfile.sql
還原壓縮的MySQL數據庫
gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename
將數據庫轉移到新服務器
mysqldump -uusername -ppassword databasename | mysql –host=*.*.*.* -C databasename
23導出數據
Select * from user into outfile 路徑
查看全部權限類型
select privilege_type from information_schema.user_privileges;
授予部分權限