資料庫2

Hohaod發表於2019-04-03

建立表的例項:

create table student(

​ id int,

​ name varchar(32),

​ age int,

​ score double(4,1),

birthday date,

insert_time timestamp

);

建立一個與之前已建立的表類似的表(複製表):create student1 like student;

刪除表

drop table if exists 表名; 刪除表(判斷)

修改表:表名 字符集 新增、刪除列 列的名稱 型別

alter table 表名 rename to 新的表名 修改表名

alter table 表名 character set 字符集名稱 修改字符集

alter table 表名 add 列名 資料型別 新增一個列

alter table 表名 change 列名 新的列名 新資料型別 修改

alter table 表名 modify 列名 新資料型別 只修改資料型別

圖形化介面工具SQLyog

DML:增刪改表中資料(重點)

新增資料:

insert into 表名(列名1,列名2,.....,列名n) values(值1,值2,.....,值n);

注意事項:1.列名和值一一對應 2.如果表名後,不定義列名,則預設給所有列新增值(簡化) 3.除了數字型別,其他型別需要用引號(單雙皆可)引用

刪除資料

delete from 表名 where 條件;

注意事項:1.若不加條件 則刪除表中所有記錄

truncate table 刪除表,然後再建立一個一模一樣的空表(刪除記錄的一種比較推薦的方式)

修改資料:

update 表名 set 列名1=值1,列名2=值2 。。。。where 條件

注意事項:若不加任何條件,則表中相應資料全部會被修改

DQL:查詢(排序查詢 聚合函式 分組查詢 分頁查詢)

select * from xxx

排序查詢

order bu 排序欄位1 排序方式1,排序欄位2 排序方式2(這裡的1,2有先後順序 先使用1的排序方式)

select * from student order by math DESC

排序方式

ASC:升序 (預設)

DESC:降序

注意事項:第二排序方式只有當前面的條件值一樣時才會觸發

聚合函式:將一列資料作為一個整體,進行縱向的計算

1.count:計算個數 2.max,min:計算最大值、最大值 3.sum:求和 4.avg:計算平均值

select count(列名) from student;

注意事項:聚合函式會排除null(使用IFNULL函式或者選擇不為NULL的列)

分組查詢:

group by 欄位

select sex , AVG(math) from student group by sex;

select sex, AVG(math),COUNT(id) number(別名) from student where math > 70 group by sex having number > 2

注意:1.分組之後可查詢的欄位:分組欄位,聚合函式

​ 2.where 和having 的區別

​ 1.

​ where : 在分組之前進行限定

​ having: 在分組之後進行限定 不滿足限定的則不會被查詢出來

​ 2.

​ where:where後不可以跟聚合函式

​ having: having後可以跟聚合函式進行判斷

分頁查詢:

limit 開始的索引,每頁查詢的條數;

select * from student limit 0,3; 索引,每頁設定的條數

公式: 開始的索引 = (當前頁碼-1)*每頁的條數

分頁的操作是一個“方言”

基礎查詢:一套完整的語法

select 欄位列表 from 表名列表 where 條件列表 group by 分組欄位 having 分組之後的條件 order by 排序 limit 分頁限定

去除重複的結果集(記錄)

select distinct address from ...

取別名:

sth AS sth AS 也可以省略

條件查詢

運算子:

< > <= >= = <>

between...and

in( 集合)

like(模糊查詢)

相關字元:

佔位符: _:單個任意字元 %:任意多個字元

例如: select * from student where name like '馬%' ;查詢出所有姓馬的人

is null

and 或者 &&

or 或者 ||

not 或者 !

表的約束

概述:對錶中的資料進行限定,保證資料的正確性,有效性,完整性

分類:

1.主鍵約束

2.非空約束

1.建立表時新增約束 not null

name varchar(20) not null

2.建立表完後,新增非空約束

3.唯一約束

phone_number varchar(20) unique

4.外來鍵約束

相關文章