建立表的實例:函數
create table student(工具
id int,排序
name varchar(32),索引
age int,it
score double(4,1),table
birthday date,基礎
insert_time timestampdate
);select
建立一個與以前已建立的表相似的表(複製表):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.外鍵約束