# MySQL入門語句
注意:在學習數據庫時,為了方便,所以語言全是小寫,更容易記憶,但是數據庫標準中應該是全大寫。所以在最下面會把所有語句重寫為標準形式。
## 連接服務器
>mysql -uroot -p2580
連接服務器以root用密碼2580登錄
>mysql -uroot -p
之后輸入密碼2580
更安全,因為使用mysql -uroot -p2580后用history會看到數據庫密碼,比較不安全
>mysql -uroot -h IP地址 -p
登錄遠程IP的數據庫
## 對用戶和權限操作
### 查看用戶權限
>select user();
>show grants for 用戶@IP;
## 對庫操作
連接服務器后首先面對的是庫,進入庫后才是表,進入表后才是數據等等。
### 顯示庫
>show databases;
```
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
```
默認有三個庫,**不要刪除這些系統庫,否則會發生異常**
>show databases like "%te%"
就會把數據庫名中有te字符的數據庫顯示出來。
可以前面有百分號后面沒有來找以te結尾數據庫,
也可以前面沒有后面有來找以te開頭的數據庫。
### 創建庫
>create database xrtest;
創建數據庫,庫名為xrtext
注意:企業級因為業務比較多所以最好全部統一UTF8,而普通YUM安裝是使用拉丁字符集,所以最好使用下面語句創建庫。
>create database `xrtest` character set utf8 collate utf8_general_ci;
指定UTF8創建數據庫。也必須要讓數據庫也必須支持UTF8。
### 刪除庫
drop database xrtest;
把數據庫xrtest刪除。**一定要小心**!
**數據庫不能直接改名**
### 使用并查看連接的庫
>use xrtest;
>select database();
### 進入一個庫如何返回剛進入MySQL的狀態
不需要返回None的狀態,也沒必要,可以像剛進入一樣操作。
## 對表操作
### 查看表
>show tables;
### 建表
```
create table stu(
snum int,
sname varchar(10)
);
```
engine代表選擇什么引擎。
### 查看表信息
>show create table stu\G
>show create table stu;
### 刪除表
>drop table stu;
### 給表改名
>rename table stu to newstu;
把表名stu改為newstu
### 清空表
>truncate newstu;
## 對數據操作
### 顯示表數據
>select * from newstu;
### 插入表數據
```
insert into stu values
(1,'zhangsan'),
(2,'lisi'),
(3,'wangwu');
```
### 查看表結構
>desc 表名;