目录

一、常见的SQL语句

二、SQL语句结构

1、数据查询语句(DQL:Data Query Language)

2、数据操作语言(DML:Data Manipulation Language)

3、事务处理语言(TPL):跟shell有点类似 由多条SQL语句组成的整体

4、数据控制语言(DCL)

5、数据定义语言(DDL)

6、指针控制语言(CCL)

三、Mysql数据类型

四、Mysql语句(关于库)

五、Mysql语句(关于表)

1、创建表:

2、查看表结构:

3、查看创建表的时候,执行了那些命令:

4、删除表:

5、修改表名称:

6、修改表中字段类型:

7、修改表中的字段类型和字段名称:

8、在表中添加新的字段:

9、在表中添加新的字段:

10、在age后面增加一个address字段:

11、删除表中的字段:

六、检索数据

1、检索列

2. 检索不同的行

3. 限定检索

七、排序检索数据

八、过滤数据(where语句)

1. WHERE子句操作符

2. 检查单个值

3. 空值检查

九、过滤数据(and&or语句)

1. AND表示同时满足所有条件

2. OR表示满足所有的单个条件

3. 次序计算

4. IN指定条件范围

5. NOT表在WHERE子句中用来否定后跟的条件

十、数据过滤(like子句+通配符%)

1. %表示任何字符串出现任意次数,区分大小写

2. _表示任何字符串出现单次,指一个字符,其他功能和%一样


一、常见的SQL语句

  • select 查询语句
  • insert 插入语句
  • delete 删除语句
  • update 更新语句

二、SQL语句结构

SQL结构化查询语句包含六个部分

1、数据查询语句(DQL:Data Query Language)

其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用

2、数据操作语言(DML:Data Manipulation Language)

其语言包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言。

3、事务处理语言(TPL):跟shell有点类似 由多条SQL语句组成的整体

它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK

4、数据控制语言(DCL)

它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问

5、数据定义语言(DDL)

它的语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分

6、指针控制语言(CCL)

它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。declare [dɪˈkler] 声明 ; cursor [ˈkɜ:rsə®] 光标 ; into [ˈɪntu] 获取到

三、Mysql数据类型

四、Mysql语句(关于库)

  1. 查看所有的数据库:show databases();
  2. 创建数据库:create database 数据库名 ;
  3. 切换数据库:use 数据库名;
  4. 删除数据库:drop database 数据库名;删除没有提示,需谨慎
  5. 查看当前所在的数据库:select database():

五、Mysql语句(关于表)

1、创建表:

create tables 表名(字段名 类型, 字段名 类型, 字段名 类型);

例:create table student(id int,name char(40),age int(5));

2、查看表结构:

desc 表名;

例:desc student;

3、查看创建表的时候,执行了那些命令:

show create table student;

4、删除表:

单表删除:

delete from 表名 where 筛选条件;

多表删除

delete 表1的别名,表2的别名 on 连接条件 where 筛选条件;

5、修改表名称:

alter table 表名 rename 新表名;

6、修改表中字段类型:

alter table 表名 modify 要修改的字段名要修改的类型;

7、修改表中的字段类型和字段名称:

alter table 表名 change 原字段名 新字段名字段类型;

注意:Mysql不支持同时修改多个字段

8、在表中添加新的字段:

alter table 表名 add 字段名 字段类型;

9、在表中添加新的字段:

alter table 表名 add 字段名 字段类型 first;

10、在age后面增加一个address字段:

alter table 表名 add 字段名 字段类型 after 字段名(需要添加到那个字段后就写那个字段名);

11、删除表中的字段:

alter table 表名 drop 字段名;

六、检索数据

1、检索列

# 从products表中获取prod_name这一列

SELECT prod_name from products;

# 检索多个列

SELECT prod_name, prod_id, prod_price from products;

# 检索所有列

select * from products;

2. 检索不同的行

# 重复的行只显示一次

SELECT DISTINCT vend_id FROM products;

3. 限定检索

注意,行0开始数,检索5行是:0,1,2,3,4行,第6行同理从行0开始数

# 只检索5行

SELECT prod_id

FROM products LIMIT 5;

# 检索第6行开始的5行

SELECT prod_id

FROM products LIMIT 6, 5;

# 限定表名的列

SELECT products.prod_id

FROM products;

七、排序检索数据

1. 排序

# 用prod_name的字母顺序排序

SELECT prod_name

FROM products

ORDER BY prod_name;

# 先用价格排序,再用名称排序

SELECT prod_id, prod_price, prod_name

FROM products

ORDER BY prod_price, prod_name;

2. 降序

无说明默认升序,降序需要用DESC(descrease)加以说明

如果要在多个列上进行降序,需要对每个列都进行DESC说明

# 价格降序

SELECT prod_id, prod_price, prod_name

FROM products

ORDER BY prod_price DESC;

# 先对价格降序,再用产品名称排序(无说明默认升序)

SELECT prod_id, prod_price, prod_name

FROM products

ORDER BY prod_price DESC, prod_name;

3. 语法顺序

SELECT——FROM——WHERE——GROUP BY——HAVING——ORDER BY——LIMIT

八、过滤数据(where语句)

1. WHERE子句操作符

= 等于,!= 不等于,< 小于, > 大于, <= 小于等于, >= 大于等于, BETWEEN AND 在指定的两个值之间

2. 检查单个值

# 名字等于fuses

SELECT prod_id, prod_price, prod_name

FROM products

WHERE prod_mane = 'fuses';

# 价格大于10

SELECT prod_id, prod_price, prod_name

FROM products

WHERE prod_price > 10;

#供应商ID不是1003

SELECT vend_id, prod_price, prod_name

FROM products

WHERE vend_id != 1003;

# 范围值检查

SELECT vend_id,prod_name,prod_price

FROM products

WHERE prod_price BETWEEN 5 AND 10;

3. 空值检查

# NULL表示空值,no value

SELECT vend_id,prod_name,prod_price

FROM products

WHERE prod_price IS NULL;

IS NULL:如果列值为 NULL,则该运算符返回 true。

IS NOT NULL:如果列值不为NULL,则该运算符返回 true。

<=>:该运算符用于两个值的对比,当两个值都为 NULL 时(这一点与 = 运算符不同),返回 true。

包含 NULL 的条件都是比较特殊的。不能在列中使用 = NULL 或 ! = NULL 来寻找 NULL 值。这样的比对通常都是失败的,因为不可能得知这样的比对是否为真。

九、过滤数据(and&or语句)

1. AND表示同时满足所有条件

# 供应商1003,价格小于等于10的产品

SELECT vend_id, prod_name, prod_price

FROM prodcuts

WHERE vend_id = 1003 AND prod_price <= 10;

2. OR表示满足所有的单个条件

# 是1002供应商,或者是价格等于10

SELECT vend_id, prod_name, prod_price

FROM products

WHERE vend_id = 1002 OR prod_price = 10;

3. 次序计算

# MySql优先处理AND, 后处理OR,先满足vend_id = 1003 AND prod_price = 10

SELECT vend_id, prod_name, prod_price

FROM products

WHERE vend_id = 1002 OR vend_id = 1003 AND prod_price = 10;

要先处理OR,应该加()

SELECT vend_id, prod_name, prod_price

FROM products

WHERE (vend_id = 1002 OR vend_id = 1003) AND prod_price = 10;

4. IN指定条件范围

# 检索1002,1003供应商并用名称排序

SELECT vend_id, prod_name, prod_price

FROM products

WHERE vend_id IN (1002, 1003)

ORDER BY prod_name;

5. NOT表在WHERE子句中用来否定后跟的条件

NOT IN可以用来取反

# 检索不是1002,1003供应商并用名称排序

SELECT vend_id, prod_name, prod_price

FROM products

WHERE vend_id NOT IN (1002, 1003)

ORDER BY prod_name;

十、数据过滤(like子句+通配符%)

1. %表示任何字符串出现任意次数,区分大小写

# 检索以jet起头的产品名字(和JET起头不匹配)

SELECT prod_name, prod_price

FROM products

WHERE prod_name LIKE 'jet%';

# 检索产品名字中任意位置有care字符

SELECT prod_name, prod_price

FROM products

WHERE prod_name LIKE '%care%';

# 检索产品名字中以s开头e结尾的字符,长度不限

SELECT prod_name, prod_price

FROM products

WHERE prod_name LIKE 's%e';

2. _表示任何字符串出现单次,指一个字符,其他功能和%一样

Mysql基本知识1相关推荐

  1. MySQL索引知识总结

    对MySQL索引知识的总结笔记. 普通索引 索引是一种数据结构,主要用于性能的提高. 比如我们有一个表t_users,有4个字段: 1 2 3 4 5 6 7 create table t_users ...

  2. MySQL高级知识(十五)——主从复制

    前言:本章主要讲解MySQL主从复制的操作步骤.由于环境限制,主机使用Windows环境,从机使用用Linux环境.另外MySQL的版本最好一致,笔者采用的MySQL5.7.22版本,具体安装过程请查 ...

  3. 重新认识mysql基本知识

    重新认识mysql基本知识 新建本地数据库,mysql> show databases; 1 information_schema数据库提供了访问数据库元数据的方式.什么是元数据呢?元数据是关于 ...

  4. MySQL工作中的实际用_总结工作中经常用到的mysql基础知识

    总结工作中经常用到的mysql基础知识 发布时间:2020-06-08 11:27:30 来源:51CTO 阅读:217 作者:三月 本文主要给大家介绍工作中经常用到的mysql基础知识,文章内容都是 ...

  5. MySQL高级知识(十六)——小表驱动大表

    前言:本来小表驱动大表的知识应该在前面就讲解的,但是由于之前并没有学习数据批量插入,因此将其放在这里.在查询的优化中永远小表驱动大表. 1.为什么要小表驱动大表呢 类似循环嵌套 for(int i=5 ...

  6. MySQL高级知识(十一)——Show Profile

    前言:Show Profile是mysql提供的可以用来分析当前会话中sql语句执行的资源消耗情况的工具,可用于sql调优的测量.默认情况下处于关闭状态,并保存最近15次的运行结果. 1.分析步骤 # ...

  7. MySQL高级知识(一)——基础

    MySQL高级知识(一)--基础 前言:MySQL高级知识 1.关于MySQL的一些文件 MySQL如何安装.如何配置自启动,这里不进行讲述,可自行搜索相关安装教程进行处理.这里主要介绍MySQL的主 ...

  8. mysql的知识_mysql基础知识

    mysql基础知识 1. MySQL是一个小型关系型数据库管理系统 2. MySQL的数据类型: 整数型:TINYINT,SMALLINT,INT,BIGINT 小数型:FLOAT,DOUBLE,DE ...

  9. mysql基础知识(二)

    这一篇是第二部分,要查看第一部分,请查看这个链接 mysql基础知识(一) DQL语言 1.1简单的单表查询 查询表的通用格式:select [distinct] [*] [列名1,列名] from ...

  10. mysql基础知识(一)

    mysql是主流的关系型数据库管理系统(RDBMS---relation database management system),操作是需要用SQL(Structured Query Language ...

最新文章

  1. Android Acitivity 生命周期
  2. MaxCompute常用语句汇总(更新ing)
  3. f分布表完整图a=0.05_MySQL8.0新特性-invisible indexes
  4. ai描边工具怎么打开_ai切片工具怎么用?ai切片工具使用教程
  5. DES加密解密算法Java实现
  6. 外部中断0(含知识点)
  7. 从拉格朗日乘数法到KKT条件
  8. php protobuf 二进制,PHP环境中使用ProtoBuf数据格式
  9. c语言能链表,C语言链表(能得懂的).ppt
  10. C语言基础教程之递归
  11. 在ubuntu10.04安装java5和java6
  12. MySQL grant 语法
  13. pnp型三极管 饱和 截至_截至2013年核心Java帖子
  14. 中国需要怎样的智慧城市联盟?中外41家联盟组织大起底
  15. Linux系统ARM32(64位不同)体系内存分页(ARM没段寄存器,分页内存内核和进程共用一套,页目录基址是CP15 C2控制的TTBR0,没用TTBR1,二级表基址alloc获取
  16. 1987年,国际C语言混乱代码大赛
  17. SQL 注入的资料,快速查表大全
  18. opcode php 5.4,为PHP5.4开启Zend OPCode缓存
  19. kitty终端ranger预览图片
  20. WinPE 安装 2003

热门文章

  1. eterm显示未连接服务器,eterm一直显示未链接服务器
  2. 企业直播带货如何做?第一步就是选直播平台
  3. 四面体的表面积_如何求正四面体的体积和表面积?
  4. 算法复杂度描述中为什么用“logn”,而不用“log2n”、“lnn”或“lgn”
  5. FIsh论坛《零基础入门学习Python》| 第012讲 课后测试题及答案
  6. 目录穿越及文件包含漏洞
  7. js 基础-函数传参
  8. ppt制作弹跳的小球动画效果_PPT动画制作教程:小球弹跳动画
  9. npm ERR! code ETIMEDOUTnpm ERR! syscall connectnpm ERR! errno ETIMEDOUTnpm ERR! network request t
  10. php缩图代码是什么,php生成缩略图的类代码