天天看點

SQL基本文法SQL 基本文法

建立表

建立主鍵限制

<code>id int primary key,</code>

<code>primary key(id) // 在建立表最後建立主鍵限制</code>

删除主鍵

<code>alter table 表名 drop primary key;</code>

主鍵自動增長

主鍵字段後加auto_increment(隻适用MySQL)

檢視所有的庫

<code>show databases</code>

使用庫

<code>use 庫名</code>

檢視所有的表

<code>show tables;</code>

檢視表的結構

<code>desc 表名;</code>

修改表名

<code>rename table 表名 to 新表名;</code>

删除表

<code>drop table 表名;</code>

插入資料

<code>insert into 表 (列名1,列名2,列名3..) values (值1,值2,值3..);</code>

更新資料

<code>update 表名 set 字段名=值,字段名=值 where 條件;</code>

删除資料

<code>delete from 表名 [where 條件];</code>

查詢并且去掉重複記錄

<code>select distinct 字段 from 表名 where 條件;</code>

别名查詢

<code>select * from 表名 as 别名 where 條件;</code>

<code>select 字段名 as 别名 from 表名 where 條件;;</code>

while條件的種類

SQL基本文法SQL 基本文法

Or 和 in

<code>SELECT * FROM zhangwu WHERE money IN(1000,5000,3500);</code>

<code>SELECT * FROM zhangwu WHERE money =1000 OR money =5000 OR money =3500;</code>

like

<code>SELECT * FROM zhangwu WHERE name LIKE "%支出%";</code>

not null

<code>SELECT * FROM zhangwu WHERE name IS NOT NULL;</code>

排序查詢

order by 列名 [desc][asc] desc 降序, asc 升序(預設) 最好将order by 函數放到最後

<code>SELECT * FROM zhangwu ORDER BY zmoney DESC ;</code>

聚合函數

聚合函數查詢是縱向查詢,

count:統計指定列不為NULL的記錄行數;

sum:計算指定列的數值和,如果指定列;

max:計算指定列的最大值,

min:計算指定列的最小值,

avg:計算指定列的平均值

<code>SELECT COUNT(*)AS'count' FROM zhangwu</code>

<code>SELECT SUM(zname) FROM zhangwu WHERE zname LIKE'%收入%'</code>

分組查詢

分組查詢是指使用group by字句對查詢資訊進行分組,一般和聚合函數一起用, 查詢相同字段的資料

<code>SELECT 字段1,字段2… FROM 表名 GROUP BY 字段 HAVING 條件;</code>

分組操作中的having子語句,是用于在分組後對資料進行過濾的,作用類似于where條件。

having與where的差別

<code>select count(id),name from gDemo GROUP BY name // 根據名字分組, 即查詢相同名字的列數有多少</code>

SQL基本文法SQL 基本文法
SQL基本文法SQL 基本文法

添加列

<code>alter table 表名 add 列名 類型(長度) 限制;</code>

修改列

<code>alter table 表名 modify 列名 類型(長度) 限制;</code>

更換列

<code>alter table 表名 change 舊列名 新列名 類型(長度) 限制;</code>

删除列

<code>alter table 表名 drop 列名;</code>