創(chuàng)建庫刪除庫
--創(chuàng)建新的數(shù)據(jù)庫
CREATE DATABASE 數(shù)據(jù)庫名
DROP DATABASE 數(shù)據(jù)庫名
增加
- 添加表
CREATE TABLE t_test(
id INT PRIMARY KEY AUTO_INCREMENT,
userName VARCHAR(20),
birthday DATE,
tel CHAR(11),
sex ENUM('男','女'),
money INT
);
- 添加多條信息
INSET INTO t_user(表頭1帚桩,表頭2) values(值1言蛇,值2);
例如
INSET INTO t_user(username,pwd,birthday,tel,sex,money)
VALUES ('張三'逾柿,'123'氛什,'1980-03-01','12345678901','男'七芭,2000);
- 添加列
ALTER TABLE t_user ADD address VARCHAR(50);
刪除
- 刪除表
DROP TABLE t_user;
- 刪除列
ALTER TABLE t_user DROP COLUMN userAddress;
- 刪除行
DELETE FROM t_user WHERE id=2;
修改
- 修改列
ALTER TABLE t_user CHANGE address userAddress VARCHAR(100);
- 修改值
UPDATE t_user SET pwd='333',money='2500' WHERE userName='張三'秘症;
查詢
- 查詢表中所有數(shù)據(jù)
SELECT * FROM t_user;
select userName,money frm t_user;
- 查詢返回限定行
SELECT * FROM t_user LIMIT 0,3;
- 查詢空值null
null不能用=照卦,只能用is null或is not null
SELECT * FROM t_user WHERE money IS NULL;
- 查詢多條信息(or/in)
SELECT * FROM t_user WHERE userName='張三' OR userName='李四';
- 模糊查詢(_或%)
SELECT * FROM t_user WHERE userName LIKE '李_';
SELECT * FROM t_user WHERE productName LIKE '%糕%';
- 查詢多條件+顯示部分
SELECT * FROM t_user WHERE productType='酒類' AND price>=100 AND price<=1000 LIMIT 0,5;
- 查詢?nèi)コ貜?fù)的類名(distinct)
SELECT DISTINCT sex FROM t_user;
- 查詢結(jié)果排序顯示
-- 按員工工資排序乡摹,默認(rèn)為升序ASC役耕,降序需要加上DESC。
-- 工資相同聪廉,按年齡大小排序瞬痘。
SELECT * FROM t_user ORDER BY money DESC,birthday;
- 查詢當(dāng)前日期
select curdate() from 表名
聚合函數(shù)的運(yùn)用
CREATE TABLE t_grade(
id INT PRIMARY KEY AUTO_INCREMENT,
sname VARCHAR(20)板熊,
sex ENUM('男','女')框全,
className VARCHAR(20),
grade INT
);
a. 統(tǒng)計(jì)學(xué)生人數(shù)
SELECT COUNT(*) '學(xué)生總?cè)藬?shù)'干签,COUNT(grade)'參考人數(shù)' FROM t_grade;
b.統(tǒng)計(jì)學(xué)生的總分津辩、平均分、最高分、最低分
SELECT SUM(grade),AVG(grade),SUM(grade)/COUNT(*),MAX(grade),MIN(grade) FROM t_grade;
c. 統(tǒng)計(jì)每個(gè)班的人數(shù)
SELECT className,COUNT(*) num FROM t_grade GROUP BY className;
d.統(tǒng)計(jì)每個(gè)班的總分和平均分
SELECT className,SUM(grade) '總分'喘沿,SUM(grade)/COUNT(*) '平均分' FROM t_grade GROUP BY className;
having運(yùn)用
SELECT className,COUNT(*) FROM t_grade GROUP BY className HAVING COUNT(*)<=3;
SELECT className,SUM(grade) FROM t_grade GROUP BY className HAVING SUM(grade)>300;
復(fù)制表
create table 新表名 select * from 原表名闸度;
where與if條件連用
SELECT * FROM sys_user where if(id<10,name='zhangsan',name='lisi');
謂詞
謂詞就是返回值為真值的函數(shù)
LIKE關(guān)鍵字一般進(jìn)行模式匹配
%是代表0字符以上的任意字符串;
_(下劃線)代表任意一個(gè)字符蚜印;
BETWEEN關(guān)鍵詞會(huì)包含前后兩個(gè)臨界值莺禁;