MySQL 命令行操作教程


1.登錄mysql

[root@host]# mysql -u root -p
Enter password:******

2.管理MySQL的命令

(1)SHOW DATABASES:

列出 MySQL 數據庫管理系統的數據庫列表。

(2)USE 數據庫名 :

選擇要操作的Mysql數據庫,使用該命令后所有Mysql命令都只針對該數據庫。

(3)SHOW TABLES:

顯示指定數據庫的所有表,使用該命令前需要使用 use 命令來選擇要操作的數據庫。

(4)SHOW COLUMNS FROM 數據表:

顯示數據表的屬性,屬性類型,主鍵信息 ,是否為 NULL,默認值等其他信息。

(5)SHOW INDEX FROM 數據表:

顯示數據表的詳細索引信息,包括PRIMARY KEY(主鍵)。

(6)SHOW TABLE STATUS LIKE [FROM db_name] [LIKE 'pattern'] \G:

該命令將輸出Mysql數據庫管理系統的性能及統計信息。
mysql> SHOW TABLE STATUS  FROM RUNOOB;   # 顯示數據庫 RUNOOB 中所有表的信息
mysql> SHOW TABLE STATUS from RUNOOB LIKE 'runoob%';     # 表名以runoob開頭的表的信息
mysql> SHOW TABLE STATUS from RUNOOB LIKE 'runoob%'\G;   # 加上 \G,查詢結果按列打印

3.DDL 操作表

(1)創建部門表

create table t_dept(dept_id int primary key auto_increment,dept_name varchar(20) not null);

(2)創建員工表

drop table if exists t_emp;  如果這個表存在刪除后重新創建
create table t_emp(emp_id int primary key auto_increment,emp_name varchar(20) not null,emp_sex char(3) not null,dept_id int not null);

(3)添加外鍵約束

alter table t_emp add constraint FK_EMP_DEPT foreign key(dept_id) references t_dept(dept_id);

(4)給員工表添加薪資列

alter table t_emp add(emp_salary int(5) not null);
alter table t_emp add(emp_mail varchar(30) not null);
-- 如果增加一列,並且這一列有默認值,而且是非空列
alter table t_emp add (emp_mail varchar(30) not null default 'default@mail.com');


(5)修改列 [modify只能修改列的類型和約束默認值,change可以修改列的名及類型和約束]

alter table t_emp modify emp_salary double(6,1) not null; // 99999.9
alter table t_emp change emp_salary salary double(5,1) not null;


(6)刪除列

alter table t_emp drop emp_mail;

(6重命名表名

alter table t_emp rename to tb_emp;

4.DML(數據操作語言INSERT, DELETE, UPDATE)

主要對數據庫中表的數據操作

1.增加數據(insert into 表名名稱(字段名1,字段名2,.....) values (值1,值2,.....)😉

-- 插入指定字段的值-> 前提: 沒有插入的字段是可以為null或者有默認值
   insert into tb_emp (emp_name, emp_sex, emp_mail) values ('信譽昂','男','xinyang@hp.com');
   -- 插入所有字段
   insert into tb_emp (emp_name, emp_sex, dept_id, salary, emp_mail) values ('張三','女',2,5000,'zhangsan@hp.com');
   insert into tb_emp values (null,'大喬','女',2,5000,'zhangsan@hp.com');
   -- 批量插入
   insert into tb_emp values (null,'趙柳','男',2,5000,'zhangsan@hp.com'),(null,'陽陽','女',2,6000,'zhangsan@hp.com');

2.刪除數據(delete from 表名 <where 刪除條件>)

   -- 按照條件刪除(經常使用)
   delete from tb_emp where emp_id = 1;
   -- 刪除所有數據(學習的時候嘗試一下,開發中禁止使用)
   delete from t_login; -- 刪除表中所有數據,不會重置主鍵值
   -- 清空表,重置主鍵值
   truncate table t_login;

3.修改數據(update 表名 set 字段名1 = 值1, 字段名2 = 值2,..... [where 修改條件])

   -- 修改字段值
   update tb_emp set emp_mail='daqiao@hp.com' where emp_id = 10002;
   update tb_emp set emp_mail='xiaoqiao@hp.com',dept_id = 1 where emp_id = 10001;
   
   --不帶條件的修改[修改必須帶上條件]
   update tb_emp set salary = 8000;

5.DCL(數據控制語言)

(1)創建用戶(CREATE USER '賬號'@'主機名/IP' IDENTIFIED BY '密碼'😉

// 沒有任何操作數據表的權限
create user 'sun'@'localhost' identified by '123';

(2)授予用戶權限(GRANT privileges ON databasename.tablename TO 'username'@'host')

注意: host必須和創建用戶使用host是一致。
// 授予sun用戶擁有testdb數據中tb_emp表查詢權限
grant select on test.tb_emp to 'sun'@'localhost';

(3)撤銷用戶權限(REVOKE privileges on databasename.tablename from 'username'@'host')

// 撤銷sun用戶查詢權限
revoke select on test.tb_emp from 'sun'@'localhost';

6.使用手動事務(https://blog.csdn.net/u012440687/article/details/52116108)

1、show variables like 'autocommit' --查詢事務是否為自動提交
2、set autocommit = 0;              -- 關閉自動提交
   set autocommit = on;
注意: 數據中默認是一條SQL語句為一個事務。

事務生命周期:全部提交或者回滾事務的生命周期結束
事務開始 -> 回滾事務 rollback
事務開始 -> 提交事務 commit


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM