mysql資料庫和表操作
阿新 • • 發佈:2020-08-10
Linux 檢視資料庫和表
- 連線資料庫
mysql -h localhost -u 使用者名稱 -p密碼
- 使用資料庫
use desk_show;
- 顯示資料表
show tables;
- 顯示錶結構
describe desk6_0;
mysql其他命令:
-
顯示資料庫
show databases;
-
建立資料庫
create database name;
-
選擇資料庫
use databasename;
-
執行命令
source /root/20151010.sql
-
直接刪除資料庫,不提醒
drop database name
-
顯示錶
show tables;
-
顯示具體的表結構
describe tablename;
-
select 中加上distinct去除重複欄位
mysqladmin drop databasename
刪除資料庫前,有提示。 -
顯示當前mysql版本和當前日期
select version(),current_date;
- 1
root密碼管理
- 設定root使用者的密碼
mysqladmin -uroot password 'password'
- 修改root使用者的密碼
mysqladmin -uroot -p password 'password'
資料庫,表管理 - 進入mysql
mysql -h hostname -uroot -p
- 建立資料庫
mysql> create database location
- 匯入資料結構
mysql -uroot -p location <./location.sql
- 檢視資料庫
mysql> show databases;
- 進入某個庫
mysql> use location;
- 查看錶資訊
mysql> show tables;
- 查看錶結構
mysql> desc Contact;
- 改表名
mysql> rename table Contact to Contact_new
- 刪除庫
mysql> drop database location
- 刪除表
mysql> drop table Contact
授權部分 - 建立使用者並授權
mysql> grant all on location.* to gk1020@'10.1.11.71' identified by 'gk1020'
- 取消授權
mysql> revoke all on location.* from gk1020@'10.1.11.71'
- 重新整理許可權
mysql> flush privileges
操作語句 - 查詢
mysql> select * from Contact
mysql> select count(*) from Contact
- 修改
mysql> update Contact set RegTime=‘2008-01-01 00:00:00’ where id=1
mysql> update Contact set RegTime=‘2008-01-01 00:00:00’,CID=1 where id=1
- 插入
mysql> insert into Contact values('',''…)
mysql> insert into Contact(ID,CID,Contact) values('',''…)
- 刪除
mysql> delete from Contact where id=1
- 備份資料庫
location mysqldump -uroot -p -l location >./location.sql
- 備份某個表
mysqldump -uroot -p -l --database location --table Contact >./contact.sql
- 匯出資料庫location的資料結構
mysqldump -d -uroot -p location >./location.sql
- 恢復資料庫:
mysql -uroot -p location < location.sql
- 備份資料檔案和sql檔案分離:
mysqldump -uroot -p location contact -T backup/
- 匯出資料:
select * from contact into outfile 'contact.txt';
- 恢復sql檔案:
cat contact.sql | mysql -uroot -p location
- 匯入資料(要跟絕對路徑)
mysqlimport -uroot -p zhang /usr/local/mysql/var/backup/contact.txt
- 複製表 複製表Contact為Contact_bak
mysql> create table Contact_bak as select * from Contact
- 複製表Contact的結構
mysql> create table Contact_bak as select * from Contact where 1=2
- 檢視正在執行的任務
mysql> show processlist
- kill正在執行的任務
mysqladmin -uroot -p kill process_id
- 查看錶狀態:
mysql> check table Contact or mysqlcheck -uroot -p -c location Contact
- 修復表:
mysql> repair table Contact or mysqlcheck -uroot -p -r location Contact
- 優化表:
mysql> optimize table Contact or mysqlcheck -uroot -p -o location Contact