Windows下使用命令行登陸、操作MYSQL數據庫

一、運行數據庫

1、啓動服務:net start mysql

2、連接數據庫:

mysql -h[IP地址] -u [數據庫] -p;
mysql -u [數據庫] -p;

--如:mysql -u root -p;
--   mysql -h127.0.0.1 -u root -p;

二、查看

1、查看數據庫:show databases;

2、查看錶:

--先選擇數據庫
USE [數據庫]
USE root

--查看錶

SHOW TABLES;

3、查看錶中的列:

SHOW columns from [表名];
SHOW columns from db;

describe [表名];
describe db;

--我感覺兩種方式是一樣的

 

4、查看數據庫狀態:

SELECT host,user FROM MYSQL.USER

5、查看用戶:

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

三、新建

1、創建數據庫:

--創建數據庫
CREATE DATABASE [數據庫名];
CREATE SCHEMA [數據庫名] default character set utf8 collate utf8_general_ci;

--採用create schema和create database創建數據庫的效果一樣,具體區別還沒研究。

2、創建用戶:

CREATE USER 'userName'@'%' IDENTIFIED BY 'password';
CREATE USER 'userName'@'localhost' IDENTIFIED BY 'password'; --本地連接

CREATE USER 'userName'@'host' IDENTIFIED BY 'password';
/*host - 指定該用戶在哪個主機上可以登陸,此處的"localhost",是指該用戶只能在本地登錄,
不能在另外一臺機器上遠程登錄,如果想遠程登錄的話,將"localhost"改爲"%",
表示在任何一臺電腦上都可以登錄;也可以指定某臺機器可以遠程登錄;*/

3、創建表:

DROP TABLE IF EXISTS `表名`;//有則刪表
CREATE TABLE `表名` (
  `字段1` varchar(10) PRIMARY KEY NOT NULL COMMENT '字段描述',
  `字段2` varchar(10) DEFAULT NULL COMMENT '字段描述',
  `字段3` varchar(10) DEFAULT NULL COMMENT '字段描述'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='表描述';

三、添加

1、導入.sql文件

--導入SQL文件
SOURCE d:/mysql.sql;
--應該也可以
mysql -uroot -p密碼 < c:\sudu.sql

2、插入數據

--插入數據
INSERT INTO [表名] VALUES("字段1","字段2"······);


--以文本方式將數據插入表
LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE 表名;

3、導入.txt文件

 

1、文本數據應符合的格式:字段數據之間用tab鍵隔開,null值用\n來代替.例:

  3 rose 飛數科技1 1976-10-10

  4 mike 飛數科技2 1975-12-23

  假設你把這兩組數據存爲速度sudu.txt文件,放在c盤根目錄下。

2、數據傳入命令 load data local infile "c:\sudu.txt" into table 表名;

  注意:你最好將文件複製到\mysql\bin目錄下,並且要先用use命令打表所在的庫。

四、刪除

--刪除用戶
DELETE FROM mysql.user WHERE user='tester'; 
DROP USER 'userName'@'host';

--刪除數據庫
DROP DATABASE db;

--刪除表
DROP TABLE [表名];

--清空表數據
DELECT FROM [表名];

 

五、修改

1、修改密碼:

--格式;
MYSQLADMIN -u [用戶名] -p [舊密碼] password [新密碼];

UPDATE mysql.user SET password=PASSWORD('新密碼') WHERE User='root';--記得刷新

--例如:
MYSQLADMIN -u root -password 1234;  --給root加個密碼
MYSQLADMIN -u root -p 1234 password abcd;

2、修改表:

--增加列
alter table [表名] add [列名] char(100) null;

--刪除列
alter table [表名] drop column [列明];

--修改列數據類型
ALTER TABLE [表名] ALTER COLUMN [列名] [類型];

--改表名
rename table [舊錶名] to [新表名];


ALTER TABLE table_name ADD column_name datatype   增加表中的列
ALTER TABLE table_name  DROP COLUMN column_name   刪除表中的列
ALTER TABLE table_name ALTER COLUMN column_name datatype   改變表中的列的數據類型

 3、修改表中數據

UPDATE 表名 SET 字段名1='a',字段名2='b' WHERE 字段名3='c';

六、授權

--授權test用戶有testDB數據庫的某一部分權限:
GRANT select,update ON testDB.* TO test@'%' IDENTIFIED BY 'password';
--授權test用戶有testDB數據庫的所有操作權限:
GRANT all PRIVILEGES ON testDB.* TO 'test'@'%' IDENTIFIED BY 'password';
--授權test用戶擁有所有數據庫的某些權限:
GRANT select,delete,update,create,drop ON *.* TO 'test'@'%' IDENTIFIED BY 'password'

七、備份數據


--備份數據庫
MYSQLDUMP -u [用戶名] -p [密碼] [數據庫] > [路徑/文件名.sql];
MYSQLDUMP -u [用戶名] -p -d --add-drop-table [數據庫] > [路徑/文件名.sql];--/   -d 沒有數據 --add-drop-table 在每個語句前加上drop table **

mysqldump -up[用戶名] -p --default-character-set=latin1 --set-charset=gbk --skip-opt [數據庫]> [路徑/文件名.sql];

--備份表
MYSQLDUMP -u [用戶名] -p [密碼] [數據庫] > [路徑/文件名.sql];


八、附加

flush  privileges;--立即啓用修改,刷新

revoke all on *.* from tester;--取消用戶所有數據庫(表)的所有權限

 

 

 

 

 

 

 

 

 

 

 

 

 

MySQL的註釋方式

mysql 服務器支持如下幾種註釋方式:

(1) # 到該行結束     # 這個註釋直到該行結束 mysql> SELECT 1+1;

(2)-- 到該行結束      -- 這個註釋直到該行結束

        注意: -- (雙長劃) 註釋風格要求在兩個長劃後至少有一個空格!

  附加:

         自MySQL3.23.3 以來,除了剛纔介紹的註釋風格外,還可以用兩個短劃線和一個空格(“-- ”)來開始註釋;從這兩個短劃線到行的結束的所有內容都作爲註釋處理。有的數據庫以雙短劃線作爲註釋的起始。MySQL也允許這樣,但需要加一個空格以免產生混淆。例如,帶有如像5--7 這樣的表達式的語句有可能被認爲包含一個註釋,但不可能寫5-- 7這樣的表達式,因此,這是一個很有用的探索。然而,這僅僅是一個探索,最好不用這種風格的註釋。

(3)/* 行中間或多個行 */

       mysql> SELECT 1+1;      mysql> SELECT 1/* 這是一個在行中間的註釋 */ + 1;

       mysql> SELECT 1+

       /* 這是一個

            多行註釋

            的形式

      */

      1;

   單引號和雙引號:被用來標誌一個被引用字符串的開始,即使是在一個註釋中。如果註釋中的引號沒有另一個引號與之配對,那和語法分析程序就不會認爲註釋結束。如果你以交互式運行 mysql,你會產生困惑,因爲提示符從 mysql> 變爲 '> 或 ">。

   分號:被用於指出當前 SQL 語句的結束並且跟隨它的任何東西表示下一行的開始。

   自MySQL3.23 版以來,可在C 風格的註釋中“隱藏” MySQL特有的關鍵字,註釋以“/ * !”而不是以“ / *”起頭。MySQL查看這種特殊類型註釋的內部並使用這些關鍵字,但其他數據庫服務器將這些關鍵字作爲註釋的一部分忽略。這樣有助於編寫由MySQL執行時利用MySQL特有功能的代碼,而且該代碼也可以不用修改就用於其他數據庫服務器。下面的兩條語句對於非MySQL的數據庫服務器是等價的,但如果是MySQL服務器,將在第二條語句中執行一個INSERT DELAYED 操作

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章