- 創(chuàng)建數(shù)據(jù)庫
create database 數(shù)據(jù)庫名
CREATE DATABASE test
- 刪除數(shù)據(jù)庫
drop database 數(shù)據(jù)庫名
DROP DATABASE test
- 選擇數(shù)據(jù)庫
use 數(shù)據(jù)庫名
USE DATABASE test
- 創(chuàng)建數(shù)據(jù)表
create table 表名(
id int auto_increment,
name 數(shù)據(jù)類型(長度) not null,
primary key (id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
如果你不想字段為 NULL 可以設(shè)置字段的屬性為 NOT NULL胶征, 在操作數(shù)據(jù)庫時如果輸入該字段的數(shù)據(jù)為NULL 磷瘤,就會報錯。
AUTO_INCREMENT定義列為自增的屬性官边,一般用于主鍵艘蹋,數(shù)值會自動加1锄贼。
PRIMARY KEY關(guān)鍵字用于定義列為主鍵。 您可以使用多列來定義主鍵女阀,列間以逗號分隔宅荤。
ENGINE 設(shè)置存儲引擎,CHARSET 設(shè)置編碼浸策。
CREATE TABLE test(
id INT AUTO_INCREMENT,
NAME VARCHAR(20) NOT NULL,
PRIMARY KEY (id)
)ENGINE=InnoDB DEFAULT CHARSET=uts8;
- 刪除數(shù)據(jù)表
drop table 表名
DROP TABLE test
- 插入數(shù)據(jù)
INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
INSERT INTO hero(id,NAME)
VALUES
(1,"張三");
INSERT INTO hero(NAME)
VALUES
("李四");
運行結(jié)果
- 查詢數(shù)據(jù)
SELECT field1, field2,...fieldN
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]
查詢語句中你可以使用一個或者多個表膘侮,表之間使用逗號(,)分割,并使用WHERE語句來設(shè)定查詢條件的榛。
WHERE 語句來包含任何條件,你用 AND 或者 OR 指定一個或多個條件。
使用 LIMIT 屬性來設(shè)定返回的記錄數(shù)或者實現(xiàn)分頁,可以通過OFFSET指定SELECT語句開始查詢的數(shù)據(jù)偏移量逻锐。默認情況下偏移量為0夫晌。
SELECT * FROM hero WHERE id<3 LIMIT 2 OFFSET 0
查詢結(jié)果
- 更新數(shù)據(jù)
UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]
UPDATE hero SET NAME="張三豐" WHERE id=1
更新結(jié)果
- 刪除數(shù)據(jù)
DELETE FROM table_name [WHERE Clause]
DELETE FROM hero WHERE id=1
不設(shè)定where條件下會刪除全部數(shù)據(jù)
- like子句
SELECT field1, field2,...fieldN
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
LIKE 子句中使用百分號 %字符來表示任意字符,類似于UNIX或正則表達式中的星號* 昧诱。如果沒有使用百分號 %, LIKE 子句與等號 = 的效果是一樣的晓淀。
目前數(shù)據(jù)庫
SELECT * FROM hero WHERE NAME LIKE "%四%"
查詢包含"四"的數(shù)據(jù)
SELECT * FROM hero WHERE NAME LIKE "四%"
查詢"四"開頭的數(shù)據(jù)
SELECT * FROM hero WHERE NAME LIKE "%四" OR NAME LIKE "%三%"
查詢以"四"結(jié)尾或者包含"三"的數(shù)據(jù)