只有鏈接了數據庫才可以執行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