查詢功能:
CREATE TABLE zhangwu ( id INT PRIMARY KEY AUTO_INCREMENT, -- 賬務ID zzname VARCHAR(200), -- 賬務名稱 zzmoney DOUBLE -- 金額 ); INSERT INTO zhangwu(id,zname,zmoney) VALUES (1,'吃飯支出',247); INSERT INTO zhangwu(id,zname,zmoney) VALUES (2,'工資收入',12345); INSERT INTO zhangwu(id,zname,zmoney) VALUES (3,'服裝支出',1000); INSERT INTO zhangwu(id,zname,zmoney) VALUES (4,'吃飯支出',325); INSERT INTO zhangwu(id,zname,zmoney) VALUES (5,'股票收入',8000); INSERT INTO zhangwu(id,zname,zmoney) VALUES (6,'打麻將支出',8000); INSERT INTO zhangwu(id,zname,zmoney) VALUES (7,NULL,5000); /* 查詢指定列的數據 格式: select 列名1,列名2 from 表名 */ SELECT zname,zmoney FROM zhangwu; /* 查詢所有列的數據 格式: select * from 表名 */ SELECT * FROM zhangwu; /* 查詢去掉重複記錄 distinct 關鍵字 跟隨列名 */ SELECT DISTINCT zmoney FROM zhangwu; SELECT DISTINCT zname FROM zhangwu; /* 臨時改變列名 查詢重新命名列 as 關鍵字 */ SELECT zname AS 'name' FROM zhangwu; /* 查詢數據中,直接進行數學計算 列對數字進行計算 */ SELECT zname,zmoney+1000 AS 'sum' FROM zhangwu; -- 查詢所有吃飯支出 SELECT * FROM zhangwu WHERE zname='吃飯支出'; -- 查詢金額大於1000 SELECT * FROM zhangwu WHERE zmoney>1000; -- 查詢金額在2000到5000之間的 SELECT * FROM zhangwu WHERE zmoney>=2000 AND zmoney<=5000; -- 改造爲between and 的方式 SELECT * FROM zhangwu WHERE zmoney BETWEEN 500 AND 5000; -- 查詢金額是1000,3500,5000其中一個 SELECT * FROM zhangwu WHERE zmoney=1000 OR zmoney=13500 OR zmoney=5000; -- 改造成in方式 SELECT * FROM zhangwu WHERE zmoney IN (1000,3500,5000); -- like 模糊查詢 -- 查詢所有的支出 SELECT * FROM zhangwu WHERE zname LIKE '%支出%'; -- 查詢賬務名字,只有五個字符 SELECT * FROM zhangwu WHERE zname LIKE '_____'; -- 查詢賬務名字不爲空 SELECT * FROM zhangwu WHERE zname IS NOT NULL; SELECT * FROM zhangwu WHERE NOT (zname IS NULL);
查詢計算功能
/* 使用聚合函數查詢計算 */ -- count 求和,對錶中的數據的個數求和 count(列名) -- 查詢統計及賬務表中,一共有多少條數據 SELECT COUNT(*) AS 'count' FROM zhangwu; -- sum求和,對一列中數據進行求和計算 sum(列名) -- 對賬務表查詢,對所有的金額求和計算 SELECT SUM(zmoney) AS 'sum' FROM zhangwu; -- 求和,統計所有支出總金額 SELECT SUM(zmoney) AS 'sum' FROM zhangwu WHERE zname LIKE '%支出%'; -- max 函數,對某列獲取最大小值 SELECT MAX(zmoney) FROM zhangwu; SELECT MIN(zmoney) FROM zhangwu; -- avg 函數,計算一列所有數據的平均值 SELECT AVG(zmoney) FROM zhangwu;
查詢排序功能/*
查詢,對結果集進行排序
升序,降序,對指定列排序
order by 列名 [desc][asc]
desc 降序
asc 升序
*/
-- 查詢賬務表,價格進行升序,默認爲升序
SELECT * FROM zhangwu ORDER BY zmoney;
-- 查詢賬務表,價格進行降序
SELECT * FROM zhangwu ORDER BY zmoney DESC;
-- 查詢所有賬務表,查詢所有的支出,對金額降序排列,先過濾條件 where 查詢的結果在排序
SELECT * FROM zhangwu WHERE zname LIKE '%支出%' ORDER BY zmoney DESC;
創建表功能
/* 創建數據庫 create database 數據庫名; */ CREATE DATABASE mybase; /* 使用數據庫 use 數據庫名; */ USE mybase; /* 創建數據表的格式 create table 表名( 列名1 數據類型 約束, 列名2 數據類型 約束, 列名3 數據類型 約束 ); 主鍵約束 非空約束 唯一約束 外鍵約束 創建用戶表,用戶編號,姓名,用戶的地址 將編號列設置爲主鍵約束,保證列的數據唯一性,非空性 primary keys */ CREATE TABLE users ( uid INT PRIMARY KEY AUTO_INCREMENT, uname VARCHAR(20), uaddress VARCHAR(200) ); /* 刪除數據表 drop Table users; CREATE TABLE users ( uid INT PRIMARY primary key AUTO_INCREMENT, uname VARCHAR(20), uaddress VARCHAR(200) ); */ /* 顯示所有數據表 */ SHOW TABLES /* 查看錶的具體結構 */ DESC users;
對數據進行更新操作功能
/*
對數據進行更新操作
數據在原有基礎上修改更新
格式:
update 表名 set 列1=值1,列2=值2 where 條件
*/
-- 修改智能手機價格
UPDATE product SET price=10000 WHERE id=2;
-- 修改電視機爲彩色電視機,價格5000
UPDATE product SET pname='彩色電視機',price=5000 WHERE id=6;
/*
修改條件寫法
id=6 數據庫中沒有雙等於
id<>6 數據庫中的不等於
id<=6
&& and
|| or
! not
id in (1,3,4,5,6)包含
*/
-- 將id=2和id=3價格改爲2000
UPDATE product SET price=2000 WHERE id IN (1,3,4,5,6);
/*
刪除表中的數據
格式:
delete from 表名 where 條件
drop table 表名 刪除整個數據表
*/
-- 刪除id=8的數據
DELETE FROM product WHERE id=8;
-- 添加id=8的數據
INSERT INTO product (id,pname,price) VALUES (8,'空調',5555);
修改表功能
CREATE TABLE users ( uid INT PRIMARY KEY AUTO_INCREMENT, uname VARCHAR(20), uaddress VARCHAR(200) ); /* 修改表: 添加列,添加字段 alter table 表名 add 列名 數據類型 約束 */ ALTER TABLE users ADD tel INT; /* 修改列,在原有的列上修改 修改列名,數據類型約束 alter table 表名 modify 列名 數據類型 約束 */ ALTER TABLE users MODIFY tel VARCHAR(50); /* 修改列名 alter table 表名 change 舊列名 新列名 數據類型 約束 */ ALTER TABLE users CHANGE tel newtel DOUBLE; /* 刪除列 alter table 表名 drop 列名 */ ALTER TABLE users DROP newtel; /* 修改表名 rename table 表名 to 新名 */ RENAME TABLE users TO newusers;
增加數據功能
CREATE TABLE product( -- 主鍵列,自動增長 id INT PRIMARY KEY AUTO_INCREMENT, -- 商品的名字,可變字符,非空 pname VARCHAR(100) NOT NULL, -- 商品的價格 price DOUBLE ); /* 向數據表中添加數據 insert 格式: insert into 表名 (列名1,列名2,列名3) values (值1,值2,值3) 注意: 列名,表明問題 對應問題,個數,數據類型 */ INSERT INTO product (id,pname,price) VALUES (1,'筆記本',5555.99); INSERT INTO product (id,pname,price) VALUES (2,'智能手機',9999); /* 添加數據格式,不考慮主鍵 格式: insert into 表名 (列名) values (值) */ INSERT INTO product (pname,price) VALUES ('洗衣機',800); /* 添加數據格式,所有值全給出 格式: insert into 表名 values (全列值) */ INSERT INTO product VALUES(4,'微波爐',300.25); /* 添加數據格式,批量寫入 格式: insert into 表名 (列名1,列名2,列名3) values (值1,值2,值3),(值1,值2,值3) */ INSERT INTO product (pname,price) VALUES ('智能機器人',25657.33), ('電視',2565.99), ('沙發',4999.99), ('路由器',300), ('熱水壺',200)