# MySQL基礎操作
> 使用方法:
>
> 方式一: 通過在指令行敲指令來操作 ( 有助于指令的掌握)
>
> 方式二: 通過圖型界面工具,如 Navicat 等(在熟練掌握後再使用)
>
> 方式三:通過程式設計語言(python,php,java,go...)執行mysql指令
**SQL ( Structure query language ) 結構化查詢語言**
> SQL語言分為4個部分:DDL(定義)、DML(操作)、DQL(查詢)、DCL(控制)
**SQL語句中的快捷鍵**
> \G 格式化輸出(文本式,豎立顯示)
>
> \s 檢視伺服器端資訊
>
> \c 結束指令輸入操作
>
> \q 退出目前sql指令行模式
>
> \h 檢視幫助
### 操作資料庫的步驟
**連接配接, 打開庫, 操作, 關閉退出**
### 1.通過指令行連接配接MySQL

### 資料庫文法的特點
#### 1) SQL 語句可以換行, 要以分号結尾

#### 2) 指令不區分大小寫. 關鍵字和函數建議用大寫

#### 3) 如果提示符為 '> 那麼需要輸入一個'回車

#### 4) 指令打錯了換行後不能修改, 可以用 \c 取消

### 2. 資料庫操作
檢視資料庫 **show databases;**
建立資料庫 **create database 庫名 default charset=utf8;**
删除資料庫 **drop database 庫名;**
打開資料庫 **use 庫名;**
### 3. 資料表操作
**資料庫管理系統中, 可以有很多庫, 每個資料庫中可以包括多張資料表**


檢視表: **show tables;**
建立表: **create table 表名(字段名1 類型,字段名2 類型)engine=innodb default charset=utf8;**
建立表: 如果表不存在,則建立, 如果存在就不執行這條指令
**create table if not exists 表名(**字段1 類型,字段2 類型);
```mysql
create table if not exists users(
id int not null primary key auto_increment,
name varchar(4) not null,
age tinyint,
sex enum('男','女')
)engine=innodb default charset=utf8;
```
删除表: **drop table 表名;**
表結構: **desc 表名;**
檢視建智語句**:show create table users;**
### 4. 資料操作 增删改查
插入
**insert into 表名(字段1,字段2,字段3) values(值1,值2,值3);**
**insert into 表名(字段1,字段2,字段3) values(a值1,a值2,a值3),(b值1,b值2,b值3);**
查詢
**select \* from 表名;**
**select 字段1,字段2,字段3 from 表名;**
**select \* from 表名 where 字段=某個值;**
修改
**update 表名 set 字段=某個值 where 條件;**
**update 表名 set 字段1=值1,字段2=值2 where 條件;**
**update 表名 set 字段=字段+值 where 條件;**
删除
**delete from 表名 where 字段=某個值;**
### 四. 退出MySQL
**exit;** 或者 **quit;**