SQL语言的知识点和基本方法

概述:

英文: Structured Query Language  简称SQL   中文: 结构化查询语言

是专门用来操作关系型数据库(由各个二维表联系在一起的数据组织)的编程语言

在不同的数据中,会存在一些特定形式的语言书写方式,我们称为"方言"

SQL的分类:

根据使用的方向不同,分为了4大类:

DDL(Data Definition Language ) :  数据定义语言(不常用,只会在创建数据库和表的时候用),

用来定义(创建)数据库 , 表 , 列等. 就是对数据库, 表, 列,进行增删改查, (不操作数据) 

DML(Data Manipulation Language ):          数据操作语言(在工作中使用频率较高)

对数据库中的数据进行增删改查, 也就是操作表中的数据
 

DQL(Data Query Language )                数据查询语言(在工作中使用频率非常高)

用来查询数据库中的数据,根据我们的要求查询相应的数据

DCL(Data Control Language)    数据控制语言(这涉及到数据库的权限安全,不会常用到)

用来定义数据库的访问权限和安全级别,及创建用户

DDL 操作数据库:

数据库:

SHOW DATABASES;                                                                查询所有数据库

CREATE DATABASE 数据库名称 ;                                            创建指定名字的数据库

CREATE DATABASE IF NOT EXISTS  数据库名称 ;                先判断该名称的数据库是否存在,若存在,不创建,若不存在,创建,

DROP DATABASE 数据库名称 ;                                                   删除指定名称的数据库

DROP DATABASE IF EXISTS  数据库名称;                                 先判断该名称的数据库是否存在,若存在,删除,若不存在,不报错,

USE 数据库名称;                                                                            使用该名称的数据库

SELECT DATABASE( );                                                                 查看当前使用的数据库

-- ---DDL操作数据库----

-- 创建一个名为aaa的数据库
CREATE DATABASE aaa;

-- 插入判断
CREATE DATABASE IF EXISTS aaa;

-- 查询所有的数据库
SHOW DATABASES;

-- 删除指定的aaa数据库
DROP DATABASE aaa;

-- 插入判断
DROP DATABASE IF EXISTS aaa;

表:

查询当前数据库下所有的表          SHOW TABLES;

查询表的结构                                DESC 表名称;

创建指定名称的表                         CREATE TABLE 表名称( 字段名1        数据类型1, 

                                                                                              字段名2        数据类型2,

                                                                                              字段名3        数据类型3,)

删除指定名称的表                         DROP TABLE 表名;

删除表时判断表是否存在              DROP TABLE IF EXISTS 表名;

-- ---DDL操作表----

-- 创建一个名为tb_uesr4的表
CREATE TABLE tb_uesr4(stuName  VARCHAR(10),
								 stuAge		INT,
								 stuGender ARCHAR(10)
									);


-- 查询当前数据库下所有的表
SHOW TABLES;

-- 查询指定tb_uesr4的表的结构
DESC tb_uesr4;


-- 删除指定的tb_uesr4表
DROP DATABASE tb_uesr4;

-- 插入判断
DROP DATABASE IF EXISTS tb_uesr4;



修改表名                                        ALTER  TABLE 表名 RENAME  TO  新的表名:

添加列                                            ALTER TABLE 表名 ADD 列名 数据类型;

修改数据类型                                 ALTER TABLE 表名 MODIFY 列名 新数据类型;

修改列名和数据类型                      ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;

删除列                                           ALTER TABLE 表名 DROP 列名;

-- DDL对表的增删改

-- 修改表的名称		将tb_user改成tb_user222
ALTER  TABLE tb_user RENAME  TO  tb_user222;

-- 添加一列 名为ID 数据类型为int 
ALTER  TABLE tb_user ADD ID INT;

-- 修改数据类型  ID列的数据类型改为varchar
ALTER  TABLE tb_user MODIFY ID VARCHAR;

-- 修改列名和数据类型 
ALTER TABLE tb_user CHANGE ID newID INT;

DML的增删改:

添加数据:

insert into 表名 values (值1,值2.....);                给全部字段添加数据

insert into 表名 (字段1,字段2....) values (值1,值2.....);                给指定的某些字段添加数据

insert into 表名 values(值1,值2....),(值1,值2....),(值1,值2....),                批量添加数据

 删除数据:

delete from 表名 where 删除条件;                删除满足指定条件的数据

delete from 表名;                 删除表中的所有数据

 修改数据:

update 表名 set 列名1 = 值1 where 修改条件;                修改指定条件中的一列数据

update 表名 set 列名1 = 值1 ,列名2 = 值2 where 修改条件;         修改多条数据

update 表名 set 列名1 = 值1 ;                 修改所有数据中的一列 

DQL的查询: 

基础查询:

select 字段名称1 ,字段名称2.... from 表名;                查询表中某个字段或多个字段的数据

select distinct 字段列表 from 表名;                查询的同时对数据进行去重

条件查询:

select 字段列表 from 表名 where 条件列表;                 根据指定条件进行查询

SQL语言的知识点和基本方法_第1张图片

 

 模糊查询:                (关键字: " _"     " % ")

select 字段列表 from 表名 wher 字段 like " _元素a ";        查询第二个数值时元素a的数据

select 字段列表 from 表名 wher 字段 like " 元素a % ";        查询以元素a开头的数据

select 字段列表 from 表名 wher 字段 like " % 元素a %";        查询包含元素a的数据

排序查询:                关键字:  ASC(升序)   DESC(降序) 

 select 字段列表 from 表名 orde by  排序规则;                按照指定排序规则进行查询排序

select 字段列表 from 表名 orde by 排序规则1, 排序规则2          指定备用排序

聚合函数:          

           -对一列数据进行纵向运算-

count(列名)                    //统计数量(不包含null)
max(列名)                        //获取最大值
min(列名)                        //获取最小值
sum(列名)                        //获取数据总和
avg(列名)                        //获取平均数

select 聚合函数名(列名)  from 表名;

 分组查询:                关键字: group by( )  having ( )

select 字段列表 from 表名 [ where 分组前条件过滤 ] group by (字段名) [having  分组后条件过滤]                根据指定的字段名进行排序

 分页查询:                关键字 limit (MySQL数据库的方法)

select 字段列表 from 表名 limit 起始索引,查询条目数;

起始索引 = (当前要查询第几页 -1 ) * 条目数

你可能感兴趣的:(方法合集,java,后端,开发语言)