Mysql基本知识1
目录
一、常见的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语句(关于库)
- 查看所有的数据库:show databases();
- 创建数据库:create database 数据库名 ;
- 切换数据库:use 数据库名;
- 删除数据库:drop database 数据库名;删除没有提示,需谨慎
- 查看当前所在的数据库: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相关推荐
- MySQL索引知识总结
对MySQL索引知识的总结笔记. 普通索引 索引是一种数据结构,主要用于性能的提高. 比如我们有一个表t_users,有4个字段: 1 2 3 4 5 6 7 create table t_users ...
- MySQL高级知识(十五)——主从复制
前言:本章主要讲解MySQL主从复制的操作步骤.由于环境限制,主机使用Windows环境,从机使用用Linux环境.另外MySQL的版本最好一致,笔者采用的MySQL5.7.22版本,具体安装过程请查 ...
- 重新认识mysql基本知识
重新认识mysql基本知识 新建本地数据库,mysql> show databases; 1 information_schema数据库提供了访问数据库元数据的方式.什么是元数据呢?元数据是关于 ...
- MySQL工作中的实际用_总结工作中经常用到的mysql基础知识
总结工作中经常用到的mysql基础知识 发布时间:2020-06-08 11:27:30 来源:51CTO 阅读:217 作者:三月 本文主要给大家介绍工作中经常用到的mysql基础知识,文章内容都是 ...
- MySQL高级知识(十六)——小表驱动大表
前言:本来小表驱动大表的知识应该在前面就讲解的,但是由于之前并没有学习数据批量插入,因此将其放在这里.在查询的优化中永远小表驱动大表. 1.为什么要小表驱动大表呢 类似循环嵌套 for(int i=5 ...
- MySQL高级知识(十一)——Show Profile
前言:Show Profile是mysql提供的可以用来分析当前会话中sql语句执行的资源消耗情况的工具,可用于sql调优的测量.默认情况下处于关闭状态,并保存最近15次的运行结果. 1.分析步骤 # ...
- MySQL高级知识(一)——基础
MySQL高级知识(一)--基础 前言:MySQL高级知识 1.关于MySQL的一些文件 MySQL如何安装.如何配置自启动,这里不进行讲述,可自行搜索相关安装教程进行处理.这里主要介绍MySQL的主 ...
- mysql的知识_mysql基础知识
mysql基础知识 1. MySQL是一个小型关系型数据库管理系统 2. MySQL的数据类型: 整数型:TINYINT,SMALLINT,INT,BIGINT 小数型:FLOAT,DOUBLE,DE ...
- mysql基础知识(二)
这一篇是第二部分,要查看第一部分,请查看这个链接 mysql基础知识(一) DQL语言 1.1简单的单表查询 查询表的通用格式:select [distinct] [*] [列名1,列名] from ...
- mysql基础知识(一)
mysql是主流的关系型数据库管理系统(RDBMS---relation database management system),操作是需要用SQL(Structured Query Language ...
最新文章
- Android Acitivity 生命周期
- MaxCompute常用语句汇总(更新ing)
- f分布表完整图a=0.05_MySQL8.0新特性-invisible indexes
- ai描边工具怎么打开_ai切片工具怎么用?ai切片工具使用教程
- DES加密解密算法Java实现
- 外部中断0(含知识点)
- 从拉格朗日乘数法到KKT条件
- php protobuf 二进制,PHP环境中使用ProtoBuf数据格式
- c语言能链表,C语言链表(能得懂的).ppt
- C语言基础教程之递归
- 在ubuntu10.04安装java5和java6
- MySQL grant 语法
- pnp型三极管 饱和 截至_截至2013年核心Java帖子
- 中国需要怎样的智慧城市联盟?中外41家联盟组织大起底
- Linux系统ARM32(64位不同)体系内存分页(ARM没段寄存器,分页内存内核和进程共用一套,页目录基址是CP15 C2控制的TTBR0,没用TTBR1,二级表基址alloc获取
- 1987年,国际C语言混乱代码大赛
- SQL 注入的资料,快速查表大全
- opcode php 5.4,为PHP5.4开启Zend OPCode缓存
- kitty终端ranger预览图片
- WinPE 安装 2003
热门文章
- eterm显示未连接服务器,eterm一直显示未链接服务器
- 企业直播带货如何做?第一步就是选直播平台
- 四面体的表面积_如何求正四面体的体积和表面积?
- 算法复杂度描述中为什么用“logn”,而不用“log2n”、“lnn”或“lgn”
- FIsh论坛《零基础入门学习Python》| 第012讲 课后测试题及答案
- 目录穿越及文件包含漏洞
- js 基础-函数传参
- ppt制作弹跳的小球动画效果_PPT动画制作教程:小球弹跳动画
- npm ERR! code ETIMEDOUTnpm ERR! syscall connectnpm ERR! errno ETIMEDOUTnpm ERR! network request t
- php缩图代码是什么,php生成缩略图的类代码