1.1 SQL語句介紹
1.1.1 什么是SQL?
全稱Structured Query Language,簡稱SQL,中文叫結構化查詢語言。
關系數據庫語言的國際標准。SQL92、SQL99
不只是mysql還有其他數據庫,在SQL92或者SQL99這些國際SQL標准基礎之上,它們還擴展了自己的一些SQL語句,比如MySQL中的limit關鍵字
1.1.2 SQL分類:
- 數據定義語言:簡稱DDL(Data Definition Language),用來定義數據庫對象:數據庫,表,列等。關鍵字:create,alter,drop等
- 數據操作語言:簡稱DML(Data Manipulation Language),用來對數據庫中表的記錄進行更新。關鍵字:insert,delete,update等
- 數據控制語言:簡稱DCL(Data Control Language),用來定義數據庫的訪問權限和安全級別,及創建用戶;關鍵字:grant等
- 數據查詢語言:簡稱DQL(Data Query Language),用來查詢數據庫中表的記錄。關鍵字:select,from,where等
1.2 SQL語句使用
1.2.1 數據庫操作:database
創建數據庫
語法:
create database 數據庫名;
create database 數據庫名 character set 字符集;

查看數據庫
查看數據庫服務器中的所有的數據庫:show databases;
查看某個數據庫的定義的信息:show create database 數據庫名;
刪除數據庫
drop database 數據庫名稱;
其他的數據庫操作命令
切換數據庫:use 數據庫名;
查看正在使用的數據庫:select database();
例如:
#創建數據庫
create database day06;
#使用數據庫
use day06;
1.2.2 表操作:table
1.2.2.1 字段類型
常用的類型有:
數字型:int
浮點型:double
字符型:varchar(可變長字符串)
日期類型:date(只有年月日,沒有時分秒)
datetime(年月日,時分秒)
boolean類型:不支持
| 分類 |
類型名稱 |
說明 |
| 整數類型 |
tinyInt |
很小的整數 |
| smallint |
小的整數 |
|
| mediumint |
中等大小的整數 |
|
| int(integer) |
普通大小的整數 |
|
| 小數類型 |
float |
單精度浮點數 |
| double |
雙精度浮點數 |
|
| decimal(m,d) |
壓縮嚴格的定點數------開發時用 |
|
| 日期類型 |
year |
YYYY 1901~2155 |
| time |
HH:MM:SS -838:59:59~838:59:59 |
|
| date |
YYYY-MM-DD 1000-01-01~9999-12-3 |
|
| datetime-開發用 |
YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00~ 9999-12-31 23:59:59 |
|
| timestamp |
YYYY-MM-DD HH:MM:SS 1970~01~01 00:00:01 UTC~2038-01-19 03:14:07UTC |
|
| 文本、二進制類型 |
CHAR(M) |
M為0~255之間的整數 |
| VARCHAR(M) |
M為0~65535之間的整數 |
|
| TINYBLOB |
允許長度0~255字節 |
|
| BLOB |
允許長度0~65535字節 |
|
| MEDIUMBLOB |
允許長度0~167772150字節 |
|
| LONGBLOB |
允許長度0~4294967295字節 |
|
| TINYTEXT |
允許長度0~255字節 |
|
| TEXT |
允許長度0~65535字節 |
|
| MEDIUMTEXT |
允許長度0~167772150字節 |
|
| LONGTEXT |
允許長度0~4294967295字節 |
|
| VARBINARY(M) |
允許長度0~M個字節的變長字節字符串 |
|
| BINARY(M) |
允許長度0~M個字節的定長字節字符串 |
創建表
create table 表名(
字段名 類型(長度) 約束,
字段名 類型(長度) 約束
);
單表約束:
* 主鍵約束:primary key
* 唯一約束:unique
* 非空約束:not null
* 注意:主鍵約束 = 唯一約束 + 非空約束
例如:
###創建分類表
CREATE TABLE sort (
sid INT PRIMARY KEY, #分類ID
sname VARCHAR(100) #分類名稱
);

查看表
查看數據庫中的所有表:show tables;
查看表結構:desc 表名;
刪除表
drop table 表名;
修改表
alter table 表名 add 列名 類型(長度) 約束; --修改表添加列.
alter table 表名 modify 列名 類型(長度) 約束; --修改表修改列的類型長度及約束.
alter table 表名 change 舊列名 新列名 類型(長度) 約束; --修改表修改列名.
alter table 表名 drop 列名; --修改表刪除列.
rename table 表名 to 新表名; --修改表名
alter table 表名 character set 字符集; --修改表的字符集
