细数MySQL中SQL语句的分类

1:数据定义语言(DDL)
 
用于创建、修改、和删除数据库内的数据结构,如:1:创建和删除数据库(CREATE DATABASE || DROP  DATABASE);2:创建、修改、重命名、删除表(CREATE  TABLE || ALTER TABLE|| RENAME TABLE||DROP  TABLE);3:创建和删除索引(CREATEINDEX  || DROP INDEX)
 
2:数据查询语言(DQL)
 
从数据库中的一个或多个表中查询数据(SELECT)
 
3:数据操作语言(DML)
 
修改数据库中的数据,包括插入(INSERT)、更新(UPDATE)和删除(DELETE)
 
4:数据控制语言(DCL)
 
用于对数据库的访问,如:1:给用户授予访问权限(GRANT);2:取消用户访问权限(REMOKE)
 
问:什么时候使用DROP?什么时候使用DELETE?
 
答:由上可看出,对于结构删除,如数据库删除、表删除、索引删除等当使用DROP;而对于数据的删除则是DELETE.
 
管理数据库和表
 
1:创建数据库-----CREATE  DATABASE  数据库名
 
例如:CREATEDATABASE Instant
 
创建表-----CREATE TABLE 表名(列名  列数据类型  <列约束条件>);
 
例如:CREATE TABLE Student(
 
Id  INT  PRIMART KEY;
 
Name VARCHAR(50));
 
注意:如创建本地临时表(仅仅在创建临时表的连接中可见),在表名前加#;如创建全局临时表(对所有连接可见),在表名前加##;
 
创建索引-----CREATE INDEX 索引名 ON 表名 (列名。。。);
 
例如:(非唯一索引)CREATE INDEX NameIndex ON Friend (Nmae);
 
(唯一索引)CREATE  UNIQUE INDEX NameIndex ON Friend (Name );
 
2:连接数据库---USE 数据库名
 
例如:USEInstant;
 
3:删除数据库-----DROP DATABASE 数据库名
 
例如:DROPDATABASE Instant;
 
删除表-----DROP TABLE 表名
 
例如:DROP TABLE Student;
 
删除索引---DROP INDEXFriend.PhoneNoIndex;(需指定表名和索引名)
 
4:复制表-----SELECT * FROM My_Friends FROM Friends;(此复制并不能复制表的约定)
 
复制表结构不复制数据:SELECT * FROM My_FriendsFROM Friends WHERE 1=0;
 
5:修改表-----

1:添加新列。。ALTERTABLE Friends ADD Address VARCHAR(50);
 
2:更改定义...ALTERTABLE Friends MODIFY Phone DEFAULT('笔者就哦');
 
3:删除列。。ALTERTABLE Friends DROP CLOUMN PhoneNo;
 
保证数据完整性
 
一:分类:
 
1:实体完整性;
 
2:域完整性;
 
3:应用完整性;
 
4:用户自定义完整性;
 
二:实现:
 
1:创建非空约束------NOT NULL
 
2:设置主键约束------PRIMARY KEY
 
3:设置唯一约束-------UNIQUE
 
4:指定默认约束-------DEFAULT
 
5:设置检查约束-------CHECK
 
6:自动编号列----------IDENTITY
 
7:外键约束----------FOREIGN KEY
 
使用DML语句更改数据
 
1:插入数据:(单行)INSERT INTO 表名  列名 VALUES  列值;
 
例如:INSERT INTOStudent (id,name) VALUES  (1,'张三');
 
(多行)INSERT INTO 表名 列名 SELECT (语句)
 
例如:INSERT INTOStudent(id,name ) SELECT id+2,name FROM Students;
 
2:表复制:SELECT 列名 INTO 新表名  FROM 表名;
 
例如:SELECT  *  INTOStudent2  FROM  Student;
 
3:更新数据:UPDATE 表名 SET 列n = 新值。。 WHERE (过滤条件);
 
例如:UPDATE Student SET id = 2,age =20 WHERE name = '张三'

更新来删除数据:UPDATE Student age= NULLWHERE name = '张三'

4:删除数据:DELETE FROM 表名 WHERE (过滤条

例如:DELETE FROMStudent WHERE name = '张三

注:删除全表数据除去过滤条件即可,也可使用TRUNCATE TABLE 表名

简单数据查询
 
1:查询:SELECT 列名 FROM 表名;
 
例如:SELECT id FROM Student;

查询全表数据:SELECT * FROM Student;
 
2: 表名前缀:SELECT Student.id FROM Student;
 
3:列表别名:SELECT T.列 A  AS  A,T.列B AS B,T.列 C AS C FROM 表 AS T;
 
4:计算列:SELECT  id , mark*2 AS MarksFROM Student;
 
SELECT FirstName +  '  ' +LastName AS FullName FROM Student;
 
5:排除重复数据:SELECT DISTINCT 列A FROM 表名;\
 
例如:SELECT  DISTINCT name FROM Student;
 
6:限定行数查询:SELECT  TOP  rowCount ColumA,ColumB FROM Table;
 
例如: SELECT TOP5 id , name FROM Student;
 
7:条件查询 WHERE
 
8:范围查询 BETWEEN
 
9:定义集合关系 IN
 
10:模糊查询 LIKE(单个字符_  多个字符%)
 
11:空值数据控制:SELECT 列A ,列B FROM  表名 WHERE 列C IS NOT NULL;
 
SELECT 列A,列B FROM 表名 WHERE 列C IS NULL;
 
12:排序:升序。。ASC
 
降序。。。DESC
 
聚合函数与分组
 
1:SELECT COUNT(规范) FROM 表名;
 
  A:数目 COUNT
 
  B:总和 SUM
 
  C:平均值AVG
 
  D:最大值MAX
 
  F:最小值 MIN
 
2:分组 GROUP BY..
 
3:结果集处理:SELECT StudentID,AVG(Mark) AS AverageMark FROM StudentExam GROUP BYStudentID HAVING AVG(Mark) <50 OR AVG(Mark)>70;
 
4:EXISTS;
 
5:ALL;
 
6:ANY;
 
7:UNION;
 
8:保留重复行:UNION ALL;
 
9:交集和差分:INTERSECT EXCEPT
 
联接
 
1:内联接:JOIN
 
2:外连接:1:左外联:LEFT JOIN或 LEFT  OUTER JOIN
 
2:右外联:RIGHTJOIN 或 RIGHT OUTERJOIN
 
3:全外联:FULL JOIN 或 FULL OUTER JOIN

以上就是小编为大家带来的细数MySQL中SQL语句的分类全部内容了,希望大家多多支持我们~

(0)

相关推荐

  • 查看当前mysql使用频繁的sql语句(详解)

    #mysql -uroot -p 输入密码 mysql> show full processlist;    查看完全的SQL语句 mysql> show processlist;         查看整体情况 这样子可以针对SQL语句进行优化. 以上这篇查看当前mysql使用频繁的sql语句(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • MySQL一个语句查出各种整形占用字节数及最大最小值的实例

    直接上码: select 'bigint unsigned' as type ,'8' as bytes ,~0 as max_num,0 as min_num union select 'int unsigned','4',~0>>32,0 union select 'mediumint unsigned','3',~0>>40,0 union select 'smallint unsigned','2',~0>>48,0 union select 'tinyint

  • mysql常用命令行操作语句

    第一招.mysql服务的启动和停止 net stop mysql net start mysql 第二招.登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是: mysql> 注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP 第三招.增加新用户 格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by

  • 最全的mysql查询语句整理

    -- 基本查询 select * from pet -- 列出指定的列 select name, owner form pet -- 直接进行算术运算,对字段起别名 select sin(1+2) as sin --where 条件 select * from pet where (birth>'1980' and species='dog') or species='bird' -- 对null 的条件 select * from pet where sex is not null -- 所有

  • Mysql语句快速复习教程(全)

    基本操作 查看数据库 <code>show databases; </code> 指定字符集 <code>create database day15 default character set utf8 </code> 查看字符集 <code>show create database day15; </code> 删除 <code>drop database day15 </code> 修改字符集 <co

  • 对MySql经常使用语句的全面总结(必看篇)

    下面总结的知识点全是经常用的,全都是干货,好好收藏吧. /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限验证登录MySQL */ mysqld --skip-grant-tables -- 修改root密码 密码加密函数password() update mysql.user set password=password('root'); SHOW PROCESSLIST -- 显

  • MySQL查询语句大全集锦

    1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:2.创建一个数据库MYSQLDATA mysql> CREATE DATABASE MYSQLDATA; 3:选择你所创建的数据库 mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!) 4:查看现在的数据库中存在什么表 mysql> SHOW TABLES; 5:创建一个数据库表 mysql> CREATE TAB

  • 细数MySQL中SQL语句的分类

    1:数据定义语言(DDL)   用于创建.修改.和删除数据库内的数据结构,如:1:创建和删除数据库(CREATE DATABASE || DROP  DATABASE):2:创建.修改.重命名.删除表(CREATE  TABLE || ALTER TABLE|| RENAME TABLE||DROP  TABLE):3:创建和删除索引(CREATEINDEX  || DROP INDEX)   2:数据查询语言(DQL)   从数据库中的一个或多个表中查询数据(SELECT)   3:数据操作语

  • MySql中sql语句执行过程详细讲解

    目录 前言: sql语句的执行过程: 查询缓存: 分析器: 优化器: 执行器: 总结 前言: 很多人都在使用mysql数据库,但是很少有人能够说出来整个sql语句的执行过程是怎样的,如果不了解执行过程的话,就很难进行sql语句的优化处理,也很难设计出来优良的数据库表结构.这篇文章主要是讲解一下sql语句的执行过程. sql语句的执行过程: 客户端.连接器.分析器.优化器.执行器.存储引擎几个阶段. 连接器的作用:管理链接.权限验证的处理. 分析器的作用:词法分析.语法分析. 优化器的作用:执行计

  • Mysql中SQL语句不使用索引的情况

    MySQL查询不使用索引汇总 众所周知,增加索引是提高查询速度的有效途径,但是很多时候,即使增加了索引,查询仍然不使用索引,这种情况严重影响性能,这里就简单总结几条MySQL不使用索引的情况 如果MySQL估计使用索引比全表扫描更慢,则不使用索引.例如,如果列key均匀分布在1和100之间,下面的查询使用索引就不是很好:select * from table_name where key>1 and key<90; 如果使用MEMORY/HEAP表,并且where条件中不使用"=&q

  • PHP获取MySQL执行sql语句的查询时间方法

    如下所示: //计时开始 runtime(); //执行查询 mysql_query($sql); //计时结束. echo runtime(1); //计时函数 function runtime($mode=0) { static $t; if(!$mode) { $t = microtime(); return; } $t1 = microtime(); list($m0,$s0) = explode(" ",$t); list($m1,$s1) = explode("

  • MySQL中EXPLAIN语句及用法实例

    目录 前言 EXPLAIN 语法如下: 1.获取表结构 2.获取执行计划信息 3.使用 EXPLAIN ANALYZE 获取信息 总结 前言 在MySQL中 DESCRIBE 和 EXPLAIN 语句是相同的意思.DESCRIBE 语句多用于获取表结构,而 EXPLAIN 语句用于获取查询执行计划(用于解释MySQL如何执行查询语句). 通过 EXPLAIN 语句可以帮助我们发现表格的哪些字段上需要建立索引,用于加速查询.也可以使用 EXPLAIN 检查优化器是否使用最优的顺序来连接表. EXP

  • MySQL中join语句怎么优化

    目录 Simple Nested-Loop Join Block Nested-Loop Join Index Nested-Loop Join 如何选择驱动表? Simple Nested-Loop Join 我们来看一下当进行 join 操作时,mysql是如何工作的.常见的 join 方式有哪些? 如图,当我们进行连接操作时,左边的表是驱动表,右边的表是被驱动表 Simple Nested-Loop Join 这种连接操作是从驱动表中取出一条记录然后逐条匹配被驱动表的记录,如果条件匹配则将

  • MySQL中or语句用法示例

    1.mysql中or语法的使用,在mysql语法中or使用注意点. 项目遇到坑,遍历发放奖励数据查询错误!!! $sql = 'SELECT * FROM `vvt_spread_doubleegg_exchange_award` AS p WHERE p.`act_type` = 4 or p.`act_type` = 5 AND p.`user_id` = ' .$user_id ; sql中的or语法一般用于多个条件的查询,上面的语法查询的相当于:两个sql查询出来的数据集合. $sql

  • MySQL中select语句使用order按行排序

    本文介绍MySQL数据库中执行select查询语句,并对查询的结果使用order by 子句进行排序. 再来回顾一下SQL语句中的select语句的语法: Select 语句的基本语法: Select <列的集合> from <表名> where <条件> order by <排序字段和方式> 如果要对查询结果按某个字段排序,则要使用order by 子句,如下: select * from <表名> order by <字段名称>

  • mysql的sql语句特殊处理语句总结(必看)

    1.更新整张表,如果某一行数据的某一列的值为空,那么让他和另一列字段的值相等 UPDATE ot_tgbz set update_day=if(update_day is null,date,update_day); 2.更新整张表,如果某个字段大于2,那么把他们都更新成2: UPDATE ot_user set xingyun_num=if(xingyun_num > 2,2,xingyun_num); 3.把shop_goods这个表里的thumb字段里的内容中含有http://www.jb

  • 细数Java接口的概念、分类及与抽象类的区别

    Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 一.接口含义: 1.Java接口,Java语言中存在的结构,有特定的语法和结构: 2.一个类所具有的方法的特征集合,是一种逻辑上的抽象. 前者叫做"Java接口",后者叫做"接口". Java接口本身没有任何实现,因为Java接口不涉及表象,而只描述public行为,所

随机推荐