MySQL知識點

查詢功能:
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)









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章