MySQL的增刪改查

增
指定字段名
語法:INSERT INTO 表名(字段名1,字段名2,…)VALUES(值1,值2,…);
舉例:INSERT INTO student(id,name,grade) VALUES(1,'zhangshan',98);
不指定字段名
語法:INSERT INTO 表名 VALUES(值11,值2,…);
舉例:INSERT INTO student VALUES (2,'lisi',62);
其餘寫法
語法:INSERT INTO 表名 SET 字段名1=值1[,字段名2=值2,…]
舉例:INSERT INTO student SET id=4,name='zhaoliu',grade=72;
同時添加多條數據
語法:INSERT INTO 表名[(字段名1,字段名2,…)] VALUES (值1,值2,…),(值1,值2,…),…(值1,值2,…)
舉例:INSERT INTO student VALUES (5,‘lilei’,99), (6,'hanmeimei',87), (8,'poly',76);
刪
刪除部分數據
語法:DELETE FROM 表名 [WHERE 條件表達式]
命令:DELETE FROM student WHERE id=7;
刪除所有數據
語法:DELETE FROM 表名
命令:DELETE FROM student;
推薦的刪除所有數據
語法:TRUNCTE [TABLE ] 表名
舉例:TRUNCATE TABLE student
改
更新部分數據
語法:UPDATE 表名 SET 字段名1=值1,[ ,字段名2=值2,…] [ WHERE 條件表達式 ]
命令:UPDATE student SET name=‘caocao’,grade=50 WHERE id=1;
更新所有數據
語法:UPDATE 表名 SET 字段名=值
命令:UPDATE student SET grade=80;
查
查詢全部字段
語法:SELECT 字段名1,字段名2,… FROM 表名 (該語法也能夠查詢部分字段)
語法:SELECT * FROM 表名;
按條件查詢
語法:SELECT 字段名1,字段名2,… FROM 表名 WHERE 條件表達式
命令:SELECT id,name FROM student2 WHERE id=4;
帶IN關鍵字的查詢
語法:SELECT * | 字段名1,字段名2,… FROM 表名 WHERE 字段名 [ NOT ] IN (元素1,元素2,…)
命令:SELECT * FROM student2 WHERE id IN (1,2,3);
帶 BETWEEN AND 關鍵字的查詢
語法:SELECT * | { 字段名1,字段名2,… } FROM 表名 WHERE 字段名 [ NOT ] BETWEEN 值1 AND 值2;
命令:SELECT id,name FROM students WHERE id BETWEEN 2 AND 5;
空值查詢
語法:SELECT * | 字段名1,字段名2,… FROM 表名 WHERE 字段名 IS [ NOT ] NULL
命令:SELECT * FROM student2 WHERE gender IS NULL;
帶 DISTINCT 關鍵字的查詢
語法:SELECT DISTINCT 字段名 FROM 表名;
命令:SELECT DISTINCT gender FROM student2;
帶 LIKE 關鍵字的查詢
語法:SELECT * | 字段名1,字段名2,… FROM 表名 WHERE 字段名 [ NOT ] LIKE ‘匹配字符串’;
注意:%表示匹配任意長度的字符串,_表示匹配單個字符串
命令:SELECT id,name FROM student2 WHERE name LIKE "S%";
命令:SELECT id,name FROM student2 WHERE name LIKE 'w%g';
命令:SELECT id,name FROM student2 WHERE name NOT LIKE '%y%';
命令:SELECT * FROM student2 WHERE name LIKE 'wu_ong';
帶 AND 關鍵字的多條件查詢
語法:SELECT * | 字段名1,字段名2,… FROM 表名 WHERE 條件表達式1 AND 條件表達式2 [ … AND 條件表達式 n ];
命令:SELECT id,name FROM student2 WHERE id<5 AND gender='';
帶 OR 關鍵字的多條件查詢
語法:SELECT * | 字段名1,字段名2,… FROM 表名 WHERE 條件表達式1 OR 條件表達式2 [ … OR 條件表達式 n ];
命令:SELECT id,name ,gender FROM student2 WHERE id<3 OR gender='';
AND和OR一塊兒使用時,AND的優先級高於OR
聚合函數
COUNT()函數:統計記錄的條數
語法:SELECT COUNT(*) FROM 表名舉例:
命令:SELECT COUNT(*) FROM student2;
SUM()函數:求出表中某個字段全部值的總和
語法:SELECT SUM(字段名) FROM 表名;
命令:SELECT SUM(grade) FROM student2;
AVG()函數:求出表中某個字段全部值的平均值
語法:SELECT AVG(字段名) FROM 表名;
命令:SELECT AVG(grade) FROM student2;
MAX()函數:求出表中某個字段全部值的最大值
語法:SELECT MAX(字段名) FROM 表名;
命令:SELECT MAX(grade) FROM student2;
MIN()函數:求出表中某個字段全部值的最小值
語法:SELECT MIN(字段名) FROM 表名;
命令:SELECT MIN(grade) FROM student2;
對查詢結果進行排序
語法:SELECT 字段名1,字段名2,… FROM 表名 ORDER BY 字段名1 [ ASC | DESC ],字段名2 [ ASC | DESC ]
(升序)命令:SELECT * FROM student2 ORDER BY grade;
(降序)命令:命令:SELECT * FROM student2 ORDER BY grade DESC;
分組查詢
語法:SELECT 字段名1,字段名2,… FROM 表名 GROUP BY 字段名1,字段名2,… [ HAVING 條件表達式 ];
單獨使用 GROUP BY 進行分組
命令:SELECT * FROM student2 GROUP BY gender;
GROUP BY 和聚合函數一塊兒使用
命令:SELECT COUNT(*) ,gender FROM student2 GROUP BY gender;
GROUP BY 和 HAVING 關鍵字一塊兒使用
命令:SELECT sum(grade),gender FROM student2 GROUP BY gender HAVING SUM(grade) < 300;
使用 LIMIT 限制查詢結果的數量
語法:SELECT 字段名2,字段名2,… FROM 表名 LIMIT [ OFFSET ,] 記錄數
(從0開始的4條)命令:SELECT * FROM student LIMIT 4;
(從第五條開始的4條)命令:SELECT * FROM student2 ORDER BY grade DESC LIMIT 4,4;
爲表和字段取別名
語法:SELECT * FROM 表名 [ AS ] 別名;
命令:SELECT * FROM student2 AS s WHERE s.gender='';
爲字段取別名
語法:SELECT 字段名 [ AS ] 別名 [ ,字段名 [AS] 別名,…] FROM 表名 ;
命令:SELECT name AS stu_name,gender AS stu_gender FROM student2;
MySQL的建表語句
#建立表,例子
#所謂的建表就是聲明列的過程,因此要首先分析列
create table member(
    id int unsigned auto_increment primary key,
    username varchar(20) not null default '',
    gender char(1) not null default '',
    weight tinyint unsigned not null default 0,
    birth date not null default '0000-00-00',
    salary decimal(8,2) not null default 0.00,
    lastlogin int unsigned not null default 0
)engine myisam charset utf8;
相關文章
相關標籤/搜索