1-1.創建、登陸、查看、退出(數據庫)、導入導出(數據庫、表)以及授權指令


只有鏈接了數據庫才可以執行SQL語句

 

連接PostgreSQL(登錄)

調出命令提示符,輸入指令:C:\PostgreSQL\9.5\bin\psql.exe –U postgres  (輸入指令回車后就會在命令提示符 窗口顯示出“postgres=#”,意味着連接成功了)

 

創建數據庫

在登錄PostgreSQL后,輸入指令:CREATE DATABASE shop;   (shop是創建數據庫的名字,輸入指令回車后就會在命令提示符 窗口顯示出“CREATE DATABASE”,意味着創建成功了)

 

 

 

結束PostgreSQL

在登錄PostgreSQL后,輸入指令:\q  (“\q” 中的 q 是“quit”(退出)的縮寫,輸入指令回車就會退出PostgreSQL)

 

連接數據庫

調出命令提示符,輸入指令:C:\PostgreSQL\9.5\bin\psql.exe –U postgres –d shop (“-d shop”是指定“數據庫 shop”的意思,輸入指令回車后就會在命令提示符 窗口顯示出“shop=#”,意味着連接成功了)

 

 

 

連接MySQL:mysql –uroot –p(密碼)

查看詮數據庫管理系統中所有的數據庫:show databases;

查看所bjpowernode數據庫中的所有表格(前提先進入數據庫):show tables;

查看描述表的結構:desc 表名;

查看表的創建詢句:show create table 表名稱;

查看MySQL版本:dos命令窗口下輸入(不要進入mysql):mysql --version  或者  mysql -V

查看當前使用數據庫:select database ();

查看MySQL數據庫版本:select version();

如果想要終止一條SQL詢句,可輸入\c;

退出MySQL:可使用exit、\q戒exit;最方便快捷的是crtl+c

創建數據庫:create database 數據庫名字 character set utf8; 

進入數據庫:use 數據庫名字;

 

 

導入導出(數據庫、表)*導出時文件名隨便寫,不會影響庫和表的名字

導出:mysqldump 導出整個數據庫(在dos命令下,win鍵+R,窗口輸入:cmd)

導出庫命令:mysqldump 數據庫名稱 >要導出的地址 要導出的文件名.sql -uroot -p密碼

例:C:\Users\呆呆>mysqldump haha >C:\Users\呆呆\Desktop\新建文件夾\練習60.sql -uroot -proot

導出表命令:mysqldump 數據庫名稱 表名 >要導出的地址 要導出的文件名.sql -uroot -p密碼

例:C:\Users\呆呆>mysqldump haha emp >C:\Users\呆呆\Desktop\新建文件夾\練習60.sql -uroot -proot

 

導入:source 登錄MySQL數據庫管理系統后執行: mysql> source C:\Users\呆呆\Desktop\新建文件夾\練習60.sql

直接輸入source后面加個空格然后直接將文件拖拽進來即可

 

MySQL導出

一、使用mysqldump命令導出:

注意:執行: mysqldump命令,如果/usr/bin目錄下沒有該命令則需要進入mysql安裝目錄bin下面執行。

 

1.導出該庫全部表結構與表數據

#語法: mysqldump -u 用戶名-p 數據庫名  --default-character-set=utf8 > 導出路徑/導出文件名

#示例: 用root用戶以utf8編碼格式導出數據庫pengke到F盤目錄下,導出文件名為pengke.sql

   mysqldump -u root -p pengke --default-character-set=utf8 >F:/pengke.sql

 

2.只導出數據庫函數與過程

#語法: mysqldump -u 用戶名 -p -ntd -R  數據庫名 >  導出路徑/導出文件名

#其中的 -ntd 是表示導出存儲過程;-R是表示導出函數

#示例: 用root用戶導出數據庫pengke下的存儲過程函數到F盤目錄下,導出文件名為pengke_fun.sql

   mysqldump -u root -p -ntd -R  pengke >F:/pengke_fun.sql

 

3.導出指定表的結構與數據(單表)

#語法: mysqldump -u 用戶名 -p 數據庫名 表名 > 導出路徑/文件名

#示例: 導出數據庫pengke中的user表

   mysqldump -u root -p pengke user > F:/user.sql

 

 

4.導出指定表的結構與數據(多表)

#語法: mysqldump -u 用戶名 -p 數據庫名 表1 表2 表3> 文件名

#  多張表名用空格隔開

#示例: 導出數據庫pengke中的pserson,dept表

   mysqldump -u root -p pengke pserson dept > F:/user2.sql

 

5.只導出事件

#示例

    mysqldump -E -ndt test -u root -p > F:/my_event.sql

 

MySQL導入

一、使用source命令導入:

1.選擇數據庫

   mysql>use test1;

 

2.設置數據庫編碼

   mysql>set names utf8;

 

3.導入數據(注意sql文件的路徑)

   mysql>source /home/abc/abc.sql;

 

 

 

DBA命令 

 新建用戶 

CREATE USER username IDENTIFIED BY 'password'; 

username:你將創建的用戶名,
password:該用戶的登陸密碼,密碼可以為空,如果為空則該用戶可以丌需要密碼登陸服務器.
示例:
create user p361 identified by '123'; --可以登錄但是叧可以看見一個庫 information_schema

 

 授權 

命令詳解 

示例:grant all privileges on dbname.tbname to 'username'@'login ip' identified by 'password' with grant option;
1) dbname=*表示所有數據庫
2) tbname=*表示所有表
3) login ip=%表示任何ip
4) password為空,表示丌需要密碼即可登錄
5) with grant option; 表示該用戶還可以授權給其他用戶
細粒度授權
1、首先以root用戶迚入mysql
2、然后鍵入命令:grant select,insert,update,delete on *.* to p361 @localhost Identified by "123";
3、如果希望該用戶能夠在任何機器上登陸mysql,則將localhost改為 "%" 。

粗粒度授權
我們測試用戶一般使用該命令授權:
GRANT ALL PRIVILEGES ON *.* TO 'p361'@'%' Identified by "123"; 注意:用以上命令授權的用戶丌能給其它用戶授權,如果想讓該用戶可以授權,用以下命令:
GRANT ALL PRIVILEGES ON *.* TO 'p361'@'%' Identified by "123" WITH GRANT OPTION;
用戶權限privileges包括:
1) alter:修改數據庫的表
2) create:創建新的數據庫戒表
3) delete:刪除表數據
4) drop:刪除數據庫/表
5) index:創建/刪除索引
6) insert:添加表數據
7) select:查詢表數據
8) update:更新表數據
9) all:允許任何操作
10) usage:叧允許登錄

 

回收授權 

命令詳解 

revoke privileges on dbname[.tbname] from username;
revoke all privileges on *.* from p361;

use mysql select * from user 迚入 mysql庫中
修改密碼;

update user set password = password('qwe') where user = 'p646';

刷新權限;
flush privileges

 


免責聲明!

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



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