SQL结构化查询语言(DDL、DML、DCL、DQL)

一、数据库

1.概念

数据存储的仓库,用来存储和管理数据

2.常见数据库
  1. 关系型数据库:具有行和列的这种二维表结构的数据库
    Oracle、DB2大型的关系型数据库
    MySQL、SQL Server中小型关系型数据库
    Sqllite微型关系型数据库
  2. 非关系型数据库NoSQL:用键值关系来存储数据

二、Mysql数据库

1.安装
2.卸载
  1. 可以使用第三方的卸载软件来卸载
  2. 在控制面板里面常规卸载
		1.停止后台服务,电脑--右键--管理--服务--mysql--右键停止掉
		2.卸载
		3.清除残留文件C:\ProgramData\MySQL把这个文件夹删除

三、SQL结构化查询语言

1.概念

通过sql语言可以操作所有的关系型数据库。每种数据库之间会存在差异,称为’‘方言’’。

2.sql分类:

DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等
DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(增、删、改)
DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别
DQL(Data Query Language):数据查询语言,用来查询记录(数据)

(一)DDL:操作数据库和表
1.操作数据库
	创建:create database 数据库名称;
	删除:drop database 数据库名称;
	修改:alter database 数据库名称character set要修改的字符集名称
	
	查询:show databases;——查询所有数据库的名称
	    show create database 数据库名称;——查询创建数据库语句
2.操作表
  1. 创建
1.列的数据类型:
					int 整型   
					double浮点型,例如double(5,2)表示最多5位,其中必须有2位小数  
					char固定长度字符串类型
					varchar可变长度字符串类型
					text字符串类型;存大格式的文本,比如存个小说
					blob字节类型;存字节类型的数据,比如电影字节,图片字节
					date日期类型,格式为yyyy-MM-dd
					time时间类型,格式为hh:mm:ss
					datetime日期时间类型,yyyy-MM-ss hh:mm:ss
					timestamp时间戳类型,如果该类型的字段不给赋值,则默认当前时间
2.语法:
				create table 表名(
					列名1  类型1,
					列名2  类型2,
					........
					列名n  类型n
				)
				create table student(
					sname varchar(20),
					age int,
					gender varchar(6)
				);
  1. 删除drop table 表名;
  2. 修改
			1.修改之添加列
			alter table student add (classname varchar(100));
			2.修改之修改列类型
			alter table student modify gender char(2);
			3.修改之修改列名
			alter table student change gender sex char(2);
			4.修改之删除列
			alter table student drop classname;
			5.修改之修改表名称
			alter table student rename to stu;
  1. 查询
		show tables;——查询该数据库下所有表名称
		desc 表名;——查询表结构

注意:操作表之前,应该先选择一个数据库使用
use 数据库名称;

(二)DML:操作表中的数据
语法:insert into 表名(列名1,列名2,...)values(值1,值2);
    注意:如果表的所有列都添加值,则列名可以省略
语法:delete from 表名 [where 条件];
truncate table 表名;——先删除表,在创建一张空表
truncate清空表和delete from的区别:
   		delete属于DML语句,truncate属于DDL语句
   		delete逐条删除,truncate干掉表,重新创建一张空表
语法:update 表名 set 列名1=值1,列名2=值2,...[where 条件];
(三)DQL:查询表中的数据
语法:
			SELECT   要查询的列名称
			FROM    要查询的表名称
			WHERE   行条件
			GROUP BY   对结果进行分组
			HAVING   分组后的行条件
			ORDER BY   对结果进行分组
			LIMIT   结果限定

查询表中所有的信息——SELECT * FROM 表名;
查询表中个别字段——SELECT 列名1,列名2 FROM 表名;

  1. 条件查询 where 子句
=   !=   <>不等于   <   <=   >   >=
BETWEEN...AND   在什么范围之间
IN(set)
IS NULL  为空
IS NOT NULL  不为空(null值比较特殊,要判断是不是null值  用=或!=判别不出来)
AND  并且
OR   或者
NOT   非
  1. 模糊查询 like
通配符:
				_:匹配单个任意字符
				%:匹配多个任意字符
  1. 字段控制
1.修改字段的别名  AS(可以省略)
		给字段起别名select sname AS 姓名,sage 年龄 from student;
		给运算字段起别名select sname AS 姓名,(工资+奖金)AS 总收入 from student;
		给表起别名:给每一张表起别名简化书写。select  stu.sname,stu.sage from student AS stu;
2.字段运算
		null参与的运算,结果都为null
		ifnull来处理null值  ifnull(0,参数)
				ifnull(参数1,参数2)如果参数1等于参数2,返回null;否则返回参数1.
3.去除重复记录  distinct
  1. 排序order by
ASC升序(默认值,默认升序排序)
DESC降序
  1. 聚合函数
    聚合函数是用来做纵向运算的函数。
COUNT():统计指定列不为NULL的记录行数;统计个数的;
MAX():计算指定列的最大值。如果指定列是字符串类型,那么使用字符串排序运算;
MIN():计算指定列的最小值。如果指定列是字符串类型,那么使用字符串排序运算;
SUM():计算指定列的数值和。如果指定列类型不是数值类型,那么计算结果为0;
AVG():计算指定列的平均值。如果指定列类型不是数值类型,那么计算结果为0;
  1. 分组查询group by
    一般配合聚合函数使用,查出的数据才有意义
    查询的字段:1.分组字段本身 2.聚合函数
分组之前,可以通过where做条件筛选。不满足条件的,不参与分组。
having对分组之后的结果,进行再次筛选

7.分页查询limit

limit 0,5开始的记录索引,每一页显示的条数。 索引从0开始

	开始的记录索引=(页码-1)*每一页显示的条数
	
分页方言oracle:rownum;
			sqlserver:top;

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值