創建數據庫
對于表的操作需要先進入庫 use 庫名;
— 創建一個名為 inana_db 的數據庫,數據庫字符編碼指定為 utf8
create database inana_db character set utf8;
drop database inana_db; — 刪除 庫名為samp_db的庫
show databases;??????? — 顯示數據庫列表。
use inana_db;??? — 選擇創建的數據庫samp_db
show 表名;?????? — 顯示samp_db下面所有的表名字
describe 表名;?? — 顯示數據表的結構
delete from 表名; — 清空表中記錄
?
創建數據庫表
使用 create table 語句可完成對表的創建, create table 的常見形式:語法:create table 表名稱(列聲明);
CREATE TABLE table_name (
? id int AUTO_INCREMENT primary key,
? password varchar(32)?????? NOT NULL DEFAULT ‘ ‘ COMMENT ‘用戶密碼’,
? reset_password tinyint(32)?????? NOT NULL DEFAULT 0 COMMENT ‘用戶類型:0-不需要重置密碼;1-需要重置密碼’,
? mobile varchar(20)?????? NOT NULL DEFAULT ” COMMENT ‘手機’,
? — 創建唯一索引,不允許重復
? UNIQUE INDEX idx_user_mobile(`mobile`)
)CHARSET=utf8;
數據類型的屬性解釋
NULL:數據列可包含NULL值;
NOT NULL:數據列不允許包含NULL值;
DEFAULT:默認值;
PRIMARY:KEY 主鍵;
AUTO_INCREMENT:自動遞增,適用于整數類型;
UNSIGNED:是指數值類型只能為正數;
CHARACTER SET name:指定一個字符集;
COMMENT:對表或者字段說明;
?
增刪改查
SELECT 語句用于從表中選取數據。
語法:SELECT 列名稱 FROM 表名稱
語法:SELECT * FROM 表名稱
Update 語句用于修改表中的數據。
語法:UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值
INSERT INTO 語句用于向表格中插入新的行。
語法:INSERT INTO 表名稱 VALUES (值1, 值2,….)
語法:INSERT INTO 表名稱 (列1, 列2,…) VALUES (值1, 值2,….)
DELETE 語句用于刪除表中的行。
語法:DELETE FROM 表名稱 WHERE 列名稱 = 值
WHERE 子句用于規定選擇的標準。
語法:SELECT 列名稱 FROM 表名稱 WHERE 列 運算符 值
IN – 操作符允許我們在 WHERE 子句中規定多個值。
IN – 操作符用來指定范圍,范圍中的每一條,都進行匹配。IN取值規律,由逗號分割,全部放置括號中。
語法:SELECT “字段名”FROM “表格名”WHERE “字段名” IN (‘值一’, ‘值二’, …);
ORDER BY
語句默認按照升序對記錄進行排序。
ORDER BY – 語句用于根據指定的列對結果集進行排序。
DESC – 按照降序對記錄進行排序。
ASC – 按照順序對記錄進行排序。
as – 可理解為:用作、當成,作為;別名 一般是重命名列名或者表名。
語法:select column_1 as 列1,column_2 as 列2 from table as 表
JOIN:如果表中有至少一個匹配,則返回行
INNER JOIN:在表中存在至少一個匹配時,INNER JOIN 關鍵字返回行。
LEFT JOIN:即使右表中沒有匹配,也從左表返回所有的行
RIGHT JOIN:即使左表中沒有匹配,也從右表返回所有的行
FULL JOIN:只要其中一個表中存在匹配,就返回行
?
常用函數
COUNT 讓我們能夠數出在表格中有多少筆資料被選出來。
語法:SELECT COUNT(“字段名”) FROM “表格名”;
MAX 函數返回一列中的最大值。NULL 值不包括在計算中。
語法:SELECT MAX(“字段名”) FROM “表格名”
?
添加索引index
語法:ALTER TABLE 表名字 ADD INDEX 索引名字 ( 字段名字 )
主鍵索引(PRIMARY key)
語法:ALTER TABLE 表名字 ADD PRIMARY KEY (字段名字)
唯一索引(UNIQUE)
語法:ALTER TABLE 表名字 ADD UNIQUE (字段名字)
?
創建后表的修改
添加列???? 語法:alter table 表名 add 列名 列數據類型 [after 插入位置]
修改列???? 語法:alter table 表名 change 列名稱 列新名稱 新數據類型;
刪除列 ? 語法:alter table 表名 drop 列名稱;
重命名表? 語法:alter table 表名 rename 新表名;
清空表數據???? 語法:delete from 表名;
刪除整張表 ? 語法:drop table 表名;
刪除數據庫???? 語法:drop database 數據庫名;