SQL_SQL基础用法

SQL

1、SQL通用语法
	1. SQL语句可以使用单行或多行书写,用分号结尾
	2. 可使用空格和缩进来增强语句的可读性
	3. MySQL数据库不区分大小写,关键字建议使用大写
	4. 3种注释方式:--,#,/* */
2.SQL分类
	1. DDL(Data Definition Language):操作数据库、表
	2. DML(Data Manipulation Language):增删改表中的数据
	3. DQL(Data Query language):查询表中的数据
	4. DCL(Data Control Language)

DDL:操作数据库、表

1)操作数据库 CRUD
	1.C(Create)
		* create database if not exists db3 character set gbk;
		创建db3数据库,判断是否存在,并指定字符集为GBK
	2.R(Retrieve)
		* 查询所有数据库的名称
			* show databases
		* 查询某个数据库的字符集,查询某个数据库的创建语句
			* show create database 数据库名称;
	3.U(Update)
		* 修改数据库的字符集
			* alter database 数据库名称 character set 字符集名称;
	4.D(Delete)
		* drop database 数据库名称; 
	5.使用数据库
		* 查询当前正在使用的数据库名称
			* select database();
		* 使用数据库
			* use 数据库名称;
2)操作表:CRUD
	1.C
		* 创建表:create table 表名(
			列名1 数据类型1,
			列名2 数据类型2,
			...........
			列名n 数据类型n
		);
		* 复制表: create table 表名1 like 表名2;
		* 注意:最后一列不需要逗号(,);
		* 数据类型:
			* int 
			* double
			* date:日期,只包含年月日,yyyy-mm-dd
			* datetime:日期,包含年月日时分秒 yyyy-mm-dd hh:mm:ss
			* timestamp:时间戳
			* varchar:字符串类型
	2.R
		* 查询某个数据库中所有表的名称
			* show tables; 
		* 查询表的结构
			* desc 表名;
	3.U
		* 修改表名:alter table 旧名 rename to 新名
		* 修改表的字符集: alter table 表名 character set 字符集
		* 添加列:alter table 表名 add 列名 数据类型1
		* 修改列名 类型:
			alter table 表名 change 列名 新列名 新数据类型:类名和数据类型都改
			alter table 表名 modify 列名 新数据类型:只改数据类型
		* 删除列:
			alter table 表名 drop 类名
	4.D: 
		* 删除表:drop table (if exists) 表名 

DML:增删改表中的数据

1)增加数据
	* 语法:insert into 表名(列名1,列名2,.......)values(值1,值2,.........)
	* 注意:
		1.列名和值要一一对应
		2.除了数字类型,其他类型需要使用引号包围(单双都可以)
2)删除数据
	* 语法:delete from 表名 where 条件
	* 注意:
			1.不加条件,则会删除所有记录
			2.若要清空表,用truncate table 表名;
3)修改数据
	* 语法: update 表名 set 列名1 = 值1,列名2=值2,......... where 条件
	* 注意:	
			1.如果不加条件,则表中所有数据都会被修改

DQL:查询表中的数据

1)排序查询
	* 语法:order by 子句
		* select * from 表名 order by 排序字段1 排序方式1,排序字段2 排序方式2........
	* 排序方式:
		* ASC:升序,默认
		* DESC:降序
	* 注意:如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件
2)聚合函数:将一列数据作为一个整体,进行纵向计算
	* count:计算个数
			* 一般选择非空的列:主键
	* max:计算最大值
	* min:计算最小值
	* sum:计算和
	* avg :计算平均数

	* 注意:聚合函数的计算,排除null值
		解决方案:
			1、选择不包含非空的列进行计算
			2、IFNULL函数
3)分组查询:统计具有相同特征的某一类数据
	1.语法: select 分组字段/聚合函数 from 表名 group by 分组字段;
	2.注意:
		* 分组之后查询的字段:分组字段,聚合函数
		* where 和having的区别?
			where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来。
		* where后不能跟聚合函数,Having后可以进行聚合函数的判断
4)分页查询 
	1. 语法:limit 开始的索引,每页查询的条数;
	   公式:开始的索引 = (当前的页码 - 1)* 每页显示的条数
	2. 分页操作是一个“方言”

1.查询语法:
  select
	字段列表
  from
	表名列表
  where
	条件列表
  group by
	分组字段
  having
	分组之后的条件
  order by
		排序
  limit
	分页限定

2.基础查询
	1. 多个字段的查询
		select 字段名1,字段名2,字段名3.....from 表名;
	2. 去除重复
		* select distinct
	3. 计算列
		* 一般可以使用四则运算计算一些列的值。(一般只会进行数值型的计算)
		* ifnull(表达式1,表达式2):null参与的运算,计算结果都为Null
			其中的:
				表达式1:哪个字段需要判断是否为null
				表达式2:为null时所替换的值
	4. 起别名:
		* as
3.起别名
	1. where子句后跟条件
	2. 运算符
		* Between … and ...
		* in
		* like:模糊查询
		* is null
		* &&
		* ||
		* !
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值