天天看点

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>