Mysql 基本指令備忘

2021-07-01 18:58:43 字數 3914 閱讀 8514

1、mysql修改密碼 :

使用  >mysqladmin -u root -p (原密碼,可省)password (新密碼可省);

2、mysql登陸:

> mysql -u root -p ;常用  預設本地主機位址

>mysql -h localhost  -u root -p;

(命令列下當

mysql未

設定埠為

3306

情況下使用)

>mysql -h localhost  -p xx -u root -p; 

(命令列下當

mysql

重新修改了埠不為

3306

情況下使用,注意

-p為大寫)

3、給使用者賦予許可權  grant 《許可權》 on 《名稱》  to user

>grant 許可權 on *.* to 'root'@『localhost』 identified by 『密碼』    

* .* 表示所有資料庫的所有表 , 一般是某個資料庫下所有表 db1.*

給使用者撤銷許可權  revoke 《許可權》 on 《名稱》  from user  [restrict/cascade]

>revoke 許可權 on *.*from 'root'@『localhost』 identified by 『密碼』   cascade

* .* 表示所有資料庫的所有表 , 一般是某個資料庫下所有表 db1.*

cascade 表示級聯收回,同時時候該使用者授予其他使用者的該許可權

restrict只收回當前使用者的許可權

4、列出資料庫  /  表

>show databases;  

>show tables;  (注意有個s)

建立資料庫

>create database; 

刪除資料庫 / 表 

>drop database  test_db;

>drop tables  test_table;

使用資料庫

>use test_db;跳出當前資料庫

>create table test(id int(4) primary key auto_increment not null , name char(20) not null default '')engine=innodb;

獲取表結構 

>desc test;

插入表資料 insert每次只能插入一組 insert into....

>insert into test values(1,'gao');   注意values有個s

或insert into test ( id ,name) values ( 2,'w');

刪除表資料  delete from ......

>delete from test where 條件 ;

修改表資料  update 表名 set 字段=新值 where 條件 ;

>update test set name=gyp where name='gao'; 把name欄位中gao改為gyp

修改表名

>rename table test to new_name;

6  表中使用alter相關操作 (增加各種字段/索引等)

增加表字段 alter.....add  

>alter table test add grade int(20) default '0' ; 

修改原欄位名稱及型別  

> alter table test change name user_name int(4).....; 把原欄位name改為新的字段user_name,新字段型別也要寫

刪除字段

>alter table test drop grade;  刪除表test中的grade欄位

增加索引

1) 加索引

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

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

2) 加主關鍵字的索引

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

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

3) 加唯一限制條件的索引

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

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

4) 刪除某個索引

mysql> alter table 表名 drop index 索引名;

例子: mysql>alter table employee drop index emp_name;

7 ,select 應用

1) 顯示mysql的版本

mysql> select version();

2) 顯示當前時間

mysql> select now();

3) 顯示字串

mysql> select "hello world!";

4) 當計算器用

select ((4 * 4) / 10 ) + 25;

5) 串接字串

select concat(a, " ",b)  as  name from test;

注意:這裡用到concat()函式,用來把字串串接起來。as給結果列'concat(f_name, " ", l_name)'起了個假名

8, 備份資料庫:要在mysql的bin目錄下執行語句

>mysqldump -u root -p test>test.sql ;  整個表備份

>mysqldump -u root -p test user >user.sql ;備份test資料庫中的user的表;

mysql -u root -p test

9、建立使用者

create user .....  identified by 『....』

create user gk@localhost identified by 『12』  建立使用者gk 密碼為12 

刪除使用者

drop user ......

drop user gk@localhost   刪除使用者gk     也可以模糊匹配   gk@『%』

10 外來鍵約束 foreign  key  屬性 reference 表名(屬性)

若果建立乙個表a,b,表a中的某一欄位為表b中的主鍵  

create table a ( id int primary key auto_increment , id_b int foreign  key id_b reference b(id_b) );

11 檢查字句 check 

create table a ( id int primary key , number int check (number>10));插入的時候number應大於10,但是mysql並不會檢查是否大於10

12mysql 觸發器操作 格式如下:

建立觸發器:

create trigger (觸發器名) [ before / after]   

【insert/update/delete 】on (表)

reference new row as nrow

for each row

when 觸發條件

begin atomic

sql語句

end

刪除觸發器 :

drop trigger (觸發器名)

mysql基本指令

登入 mysql uroot p 密碼 use use carry 使用 carry 資料庫 show 如 show databases 會顯示所有資料庫 show tables 會顯示carry資料庫中的所有表 show columns form taobao 會顯示taobao表中的所有字段 d...

Git 指令備忘

git branch d branch name 刪除本地分支 git branch d branch name 強行刪除本地分支 git push origin dev 刪除遠端dev分支 將乙個空分支推送到遠端dev分支 git push origin delete branch name 刪除...

docker指令備忘

拉取映象 docker pull ubuntu 建立容器 1,docker create name myname ubuntu latest 只會建立不會啟動 2,docker run it ubuntu latest sh c bin bash 通過映象啟動 建立並啟動 將當前終端連線為這個 ub...