1. 程式人生 > >DDL之資料庫操作

DDL之資料庫操作

DDL之資料庫操作:databases

1,檢視資料庫:

命令: show databases;

在這裡插入圖片描述
2,檢視某個資料庫的定義的資訊:

show create database 資料庫名;
在這裡插入圖片描述

3,需求: 把資料庫 day01刪除掉
格式:
drop database 資料庫名稱;
在這裡插入圖片描述
4,切換資料庫:
use 資料庫名;
在這裡插入圖片描述

DDL之表操作:table

1,建立表:

格式:

create table 表名(
欄位名 型別(長度) [約束],
欄位名 型別(長度) [約束],
   ...
);
型別:
	varchar(n)	字串
	int			整形
	double		浮點
	date		時間
	timestamp	時間戳
約束:
	primary key	主鍵,被主鍵修飾字段中的資料,不能重複、不能為null。

在這裡插入圖片描述

2,查看錶:
查看錶的資訊

檢視資料庫中的所有表:
格式:show tables;
在這裡插入圖片描述
3,需求:檢視一下 user 表的 表結構

格式:
查看錶結構:
格式:desc 表名;

在這裡插入圖片描述

4,刪除表:
需求:把user表刪除掉
格式:drop table 表名;
在這裡插入圖片描述
5,修改表:
//需求:修改user表中 cname欄位 資料型別的長度變成100

需求: 給user表新增一個新的列列名叫做 sex ,型別是字串型別,長度是50

格式:
alter table 表名 add 列名 型別(長度) [約束];
在這裡插入圖片描述
6,
需求:
/*
修改user表的 sex欄位,讓欄位的長度是100 sex 可以為空
格式:
alter table 表名 modify 列名 型別(長度) [約束];

*/

ALTER TABLE USER MODIFY sex VARCHAR(100)
在這裡插入圖片描述
7,需求:
把user表的 列名sex改成usex
格式:
alter table 表名 change 舊列名 新列名 型別(長度) [約束];
在這裡插入圖片描述
8,需求:
把user表的 usex這一列刪除掉
格式:
alter table 表名 drop 列名;
在這裡插入圖片描述
9,需求:
把user表的 usex這一列刪除掉
格式:
alter table 表名 drop 列名;
在這裡插入圖片描述
10,需求:
把user表 表名改成 myuser
格式:
rename table 表名 to 新表名;
在這裡插入圖片描述

DML資料操作語言

1,設計資料庫表
在這裡插入圖片描述


2,-- 向表中插入某些欄位
insert into 表名 (欄位1,欄位2,欄位3…) values (值1,值2,值3…);
–向表中插入所有欄位,欄位的順序為建立表時的順序
insert into 表 values (值1,值2,值3…);

在這裡插入圖片描述
在這裡插入圖片描述

單表操作

1,表的更新
整體的更新某一列
在這裡插入圖片描述

根據條件進行更新
在這裡插入圖片描述

條件更新
在這裡插入圖片描述

2,刪除記錄:delete
原始資料和需求
在這裡插入圖片描述

實現:

在這裡插入圖片描述
刪除所有

在這裡插入圖片描述
Delete 刪除資料之後 又重新新增 效果 注意主鍵的效果

在這裡插入圖片描述
刪除整表資料的方式2

在這裡插入圖片描述

在這裡插入圖片描述

3,基本查詢

資料準備

在這裡插入圖片描述

查詢所有

在這裡插入圖片描述

查詢一列資訊
在這裡插入圖片描述

查詢多列

在這裡插入圖片描述

查詢 沒有去重
在這裡插入圖片描述

查詢 去重

在這裡插入圖片描述

對查詢結果 進行運算

在這裡插入圖片描述

別名

在這裡插入圖片描述

在這裡插入圖片描述
查詢多列 使用別名
在這裡插入圖片描述

4, 基本查詢practice

#查詢商品名稱為“花花公子”的商品所有資訊:
SELECT * FROM product WHERE pname=‘花花公子’
在這裡插入圖片描述

#查詢商品價格在200到1000之間所有商品

在這裡插入圖片描述

#查詢商品價格是200或800的所有商品
在這裡插入圖片描述

#查詢含有’霸’字的所有商品

在這裡插入圖片描述

在這裡插入圖片描述
#查詢第二個字為’想’的所有商品

在這裡插入圖片描述

查詢商品價格為空的商品

在這裡插入圖片描述
在這裡插入圖片描述

查詢商品價格不為空的商品

在這裡插入圖片描述

5,聚合 排序 分組

降序
在這裡插入圖片描述

升序

在這裡插入圖片描述

聚合函式 count(*) 統計條目個數
在這裡插入圖片描述

帶有條件的統計
在這裡插入圖片描述

有條件的求和
在這裡插入圖片描述

Avg 求平均

在這裡插入圖片描述
在這裡插入圖片描述

在這裡插入圖片描述

分組

在這裡插入圖片描述

在這裡插入圖片描述

分組查詢 帶條件

在這裡插入圖片描述

分頁

在這裡插入圖片描述

在這裡插入圖片描述

查詢表的英語成績去掉重複資料。
在這裡插入圖片描述

統計每個學生的總分,顯示時 有兩列資訊 分別是name 和sum, sum為總分,總分的意思是chinese english math 之和
在這裡插入圖片描述

查詢數學分數為89 90 77 的同學資訊
在這裡插入圖片描述
13)查詢數學分80並且語文分80的同學資訊
14)查詢英語80或者總分為200的同學的資訊
15)對數學成績降序輸出。
16)對總分排序,降序輸出,顯示時只有一列,列名是sum 顯示的是總分
17)對姓李的學生資訊按照總分降序的方式輸出

強化2

單表級別:
1)查詢沒有上級的員工全部資訊(也就是說 員工上級編號為 null 的)

在這裡插入圖片描述

查詢10號部門的平均薪資、最高薪資、最低薪資

在這裡插入圖片描述
單錶帶有子查詢
0)-- 查詢薪資最高的員工的資訊 ----子查詢
在這裡插入圖片描述

列出與“SCOTT”從事相同工作的所有員工姓名、工作名稱
在這裡插入圖片描述
查詢語句重點語法

select [distinct]
*| 列名,列名 from 表 where 條件

Distinct 去重
From 從…
where 條件連線符
order by 列 以XXX列進行排序 ASC 升序
如 123456 DESC 降序 如 654321

count:統計指定列不為NULL的記錄行數;
sum:計算指定列的數值和,如果指定列型別不是數值型別,那麼計算結果為0;
max:計算指定列的最大值,如果指定列是字串型別,那麼使用字串排序運算;
min:計算指定列的最小值,如果指定列是字串型別,那麼使用字串排序運算;
avg:計算指定列的平均值,如果指定列型別不是數值型別,那麼計算結果為0;

group by 列名 以 XXX列 分組