Mysql数据库的sql语句:
一.基本操作
1.连接数据库
 mysql -uroot -proot -hlocalhost -P3306 (-u表示用户名,-p密码,-h主机,-P端口号)
2.选择和使用数据库
 查看数据库列表: SHOW DATABASES;
 选择数据库: USE 数据库名;
3.查看数据库中的所有表
 SHOW TABLES;
 
4.查看表结构:
 方式一:SHOW COLUMNS FROM 表名;
 方式二:DESCRIBE(DESC) 表名;
5.SHOW STATUS ,显示广泛的服务器信息
  SHOW GRANTS ,查看用户权限
  SHOW ERROR和SHOW WARNINGS ,显示服务器错误或警告信息
二.检索数据
 SELECT stu_name
 FROM students;
-----------------------------------------------------------
 SELECT stu_name,stu_sex,stu_age
 FROM students;
-----------------------------------------------------------------------
 SELECT *
 FROM students;
---------------------------------------------------------------------
 SELECT DISTINCT class_id  --唯一性关键字distinct
 FROM students;     
------------------------------------------------------------------
 SELECT stu_name  --limit关键字实现分页查询(一个参数)
 FROM students
 LIMIT 5;
 ----------------------------------------------------------------------
 SELECT stu_name  --limit关键字实现分页查询(两个参数)
 FROM students
 LIMIT 0,5;
---------------------------------------------------------------------------
 SELECT stu_name  --limit关键字实现分页查询
 FROM students
 LIMIT 5,5;
-------------------------------------------------------------------------
 SELECT stu_name  --limit关键字实现分页查询
 FROM students
 LIMIT 5 OFFSET 0;  --mysql5的新替代方法(取o行开始的5行)
三:排序检索数据(ORDER BY)
 SELECT prod_name --单列排序
 FROM products
 ORFER BY prod_name;
 -----------------------------------------------------------
 SELECT prod_id,pro_price,prod_name --多列排序
 FROM products
 ORFER BY prod_price,prod_name;          --排序顺序按照指定顺序排序,先对prod_price排序,后对prod_name排序,如果prod_price列的所有值都是唯一的,则不会对prod_name排序
 ---------------------------------------------------------
 SELECT prod_id,pro_price,prod_name --多列排序
 FROM products
 ORFER BY prod_price DESC,prod_name;     --指定排序规则(DESC降序,ASC升序,Mysql默认升序排序)
 注意:在字典(dictionary)排序中,A和a默认相同,这是Mysql的默认行为
 ---------------------------------------------------------
 ORDER BY 和 LIMIT 组合实现查询一个列的中的最高或最低的值。
 找出最珍贵物品的值:
 SELECT prod_price
 FROM products
 PRDER BY prod_price DESC
 LIMIT 1;
 
 -------------------------------------------
四.过滤数据
 WHERE字句实现过滤
 SELECT prod_price,prod_name
 FROM product
 WHERER prod_price = 2.5;
 -----------------------------------
 WHERE字句操作符
 操作符  说明
 =  等于
 <>  不等于
 !=  不等于
 >  大于
 >=  大于等于
 <  小于
 <=  小于等于
 BETWEEN  在指定的两个值之间
 ----------------------------------------------------------
 SELECT prod_price,prod_name
 FROM product
 WHERER prod_name = 'fuses';
 因为Mysql在执行匹配时默认不区分大小写,所以Fuses也会被返回
 ----------------------------------------------------------
 
 空值检查
 查询价格为空值的产品的名称:
 SELECT prod_name
 FROM prodects
 WHERE prod_price IS NULL;
 ------------------------------------------
IN关键字(实现的效果和 OR 相同)
 SELECT prod_name,prod_price
 FROM products
 WHERE vend_id in (1002,1003)
 ORDER BY prod_name;
 相当于:
 SELECT prod_name,prod_price
 FROM products
 WHERE vend_id = 1002 OR vend_id = 1003
 ORDER BY prod_name;
 为什么使用IN ?
 IN操作符的语法更清楚且直观。
 使用IN,计算的次序更加容易管理。
 IN操作符一般比OR操作符执行更快。
 IN最大的优点是可以包含其他SELECT语句,是的能够动态的建立WHERE字句。
 -------------------------------------------------------------------------
 NOT关键字   用来否认后面的条件可以对 IN  ,BETWEEN ,EXISTS字句取反。
 SELECT prod_name,prod_price
 FROM products
 WHERE vend_id NOT IN (1002,1003)
 ORDER BY prod_name;
 ---------------------------------------------------------------------------
五:通配符
 LIke  用来只是Mysql说明后面的检索条件是使用通配符
 通配符有两种:
 %  匹配任意个数的字符
 _  匹配单个字符
 select prod_id,prod_name
 from products
 where prod_name like '%jes%';
 使用通配符的技巧:除非非常需要,否则不使用。
 尽量不要在搜索模式的开始处使用,把通配符至于搜索的开始处,搜索起来是最慢的。
 -------------------------------------------------------------------------------
六:正则表达式
 检索出列prod_mame包含文本1000的所有的行:
 SELECT prod_name
 FROM products
 WHERE prod_name REGEXP '1000'
 ORDER BY prod_name;
 跟LIKE的语句很像
 SELECT prod_name
 FROM products
 WHERE prod_name LIKE '%1000%'
 ORDER BY prod_name;
 ---------------------------------------------
 SELECT prod_name  --匹配多个字符之一(进行OR匹配)
 FROM products
 WHERE prod_name REGEXP '1000|2000|3000'
 ORDER BY prod_name;
 ------------------------------------------------
 SELECT prod_name  --[] 匹配[]中单个字符
 FROM products
 WHERE prod_name REGEXP '[123] Ton'
 ORDER BY prod_name;
 -------------------------------------------------------
 SELECT prod_name  --[|||] 匹配[]中单个字符,效果如上面
 FROM products
 WHERE prod_name REGEXP '[1|2|3] Ton'    --1 Ton ,2 Ton,3 Ton
 ORDER BY prod_name;
 ---------------------------------------------------------------
 SELECT prod_name  --注意
 FROM products
 WHERE prod_name REGEXP '1|2|3 Ton'    --这里匹配的是1 ,2,3 Ton
 ORDER BY prod_name;
 -----------------------------------------------------------------
 匹配范围:[3-6]匹配3-6   [a-z]匹配a-z
 SELECT prod_name
 FROM products
 WHERE prod_name REGEXP '[1-5] Ton' --匹配 1 Ton  ,2 Ton, 3 Ton, 4 Ton ,5 Ton
 ORDER BY prod_name;
 ---------------------------------------------------------------------------------
 匹配特殊字符 . | [] - (注意Mysql使用\\)
 SELECT prod_name
 FROM prodects
 WHERE prod_name REGEXP '\\.'    --匹配含有.的行
 ORDER BY prod_name;
 ------------------------------------------------------------
 空白元字符
 元字符  说明
 \\f  换页
 \\n  换行
 \\r  回车
 \\t  制表
 \\v  纵向制表
 -------------------------------------------------------------
 匹配字符类
 字符类
 类  说明
 [:alnum:] 任意字母和数字(同[a-zA-Z0-9])
 [:alpha:] 任意字母(同[a-zA-Z])
 [:blank:] 空格和制表(同[\\t])
 [:cotrl:] ASCII码控制字符(ASCII0-31和127)
 [:digit:] 任意数字(同[0-9])
 [:graph:] 与print相同,但不包含空格
 [:lower:] 任意小写字母(同[a-z])
 [:upper:] 任意大写字母
 [:print:] 任意可打印字符
 [:punct:] 既不在[:alnum:]也不在[:cotrl:]中的字符
 [:space:] 包括空格在内的任意空白字符(同[\\t\\f\\r\\n\\v])
 [:xdigit:] 任意十六进制数字(同[a-fA-F0-9])
 -------------------------------------------------------------
 匹配多个实例
 重复元字符
 元字符  说明
 *  0个或多个匹配
 +  一个或多个匹配(相当于{1,})
 ?  0个或者1个匹配(相当于{0,1})
 {n}  指定数目的匹配
 {n,}  不少于指定数目的匹配
 {n,m}  指定数目的范围(m不超过255)
 
 下面例子匹配:\\( 匹配),[0-9]匹配任意数字,stick?匹配stick和stick(后面有任意字符),\\)匹配 )
 SELECT prod_name
 FROM products
 WHERE prod_name REGEXP '\\([0-9] stick?\\)'
 ORDER BY prod_name;
 下面例子:匹配连在一起的四个字符
 SELECT prod_name
 FROM products
 WHERE prod_name REGEXP '[[:digit:]{4}]'
 ORDER BY prod_name;
 --------------------------------------------------------------
 定位符
 定位元字符
 元字符  说明
 ^  文本的开始
 $  文本的结束
 [[:<:]]  词的开始
 [[:<:]]  词的结束
 
 匹配产品名称以数字或者.开头产品
 SELECT prod_name
 FROM prodducts
 WHERE prod_name REGEXP '^[0-9\\.]'
 ORDER BY prod_name;
 ---------------------------------------------------------------
 LIKE 和 REGEXP的区别?
 LIKE和REGEXP起类似的作用,但LIKE匹配的是整个串,而REGEXP匹配的是字串
 REGEXP加入^ 和 $ 家可以实现与LIKE一样的作用
 -----------------------------------------------------------------
 
 

sql语句(Mysql数据库)的更多相关文章

  1. mysql用户管理 常用sql语句 mysql数据库备份恢复

     

  2. mysql / pgsql 使用sql语句查询数据库所有表注释已经表字段注释

    mysql使用sql语句查询数据库所有表注释已经表字段注释(转载)   场景: 1. 要查询数据库 "mammothcode" 下所有表名以及表注释 /* 查询数据库 ‘mammo ...

  3. oracle 用sql语句管理数据库

    基础sql语句 创建数据库 :create database database_name; 创建表:create table(字段名 字段类型 字段为空约束 ,字段名 字段类型 字段为空约束,,,, ...

  4. 043:Django使用原生SQL语句操作数据库

    Django使用原生SQL语句操作数据库 Django配置连接数据库: 在操作数据库之前,首先先要连接数据库.这里我们以配置 MySQL 为例来讲解. Django 连接数据库,不需要单独的创建一个连 ...

  5. 2-06使用SQL语句创建数据库3

    向现有数据库中添加文件组和数据文件几种方式以及步骤: 第一种:在视图下添加文件组和数据文件. 添加文件组的步骤: 右击你想要添加文件组的数据库点属性,然后点文件组就可以添加. 添加数据文件的步骤: 下 ...

  6. 使用SQL语句清空数据库所有表的数据

    使用SQL语句清空数据库所有表的数据 近来发现数据库过大,空间不足,因此打算将数据库的数据进行全面的清理,但表非常多,一张一张的清空,实在麻烦,因此就想利用SQL语句一次清空所有数据.找到了三种方法进 ...

  7. 全国省市级联数据sql语句 mysql版

    全国省市级联数据sql语句 mysql版 --省级 provincial create table provincial ( provincialID int, provincialName ), p ...

  8. SQL语句获取数据库中的表主键,自增列,所有列

    SQL语句获取数据库中的表主键,自增列,所有列   获取表主键 1:SELECT TABLE_NAME,COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_U ...

  9. 【转载】C#常用数据库Sqlserver通过SQL语句查询数据库以及表的大小

    在Sqlserver数据库中,一般我们查看数据库的大小可以通过查找到数据库文件来查看,但如果要查找数据表Table的大小的话,则不可通过此方法,在Sqlserver数据库中,提供了相应的SQL语句来查 ...

  10. SQL语句还原数据库并移动文件到指定路径

    用SQL语句还原数据库时如果不指定数据库文件的存储路径,则默认把数据文件和日志文件存放到与原数据库相同的文件路径中,这样可能会产生错误,比如执行下面的语句: restore database Smar ...

随机推荐

  1. Python2图像文本识别

    原文地址:http://www.cnblogs.com/tanghuang/p/6380588.html 适用版本:python2以下 将图片中的数字通过 pytesseract.image_to_s ...

  2. 谈谈我的js学习过程(一)

    1)我为什么要学习JavaScript? 在我立志说要当一名前端开发工程师之后,我做的第一件事情,就是上知乎.去搜"前端开发工程师"这几个字.然后就会发现很多答案中涉及到,一名前端 ...

  3. RHEL 7.6 安装 Oracle 18c RAC

    RHEL 7.6 安装 Oracle 18c RAC 第一部分 安装规划 虚拟环境 VirtualBox 6.0 OS 版本 Red Hat Enterprise Linux Server relea ...

  4. index range scan,index fast full scan,index skip scan发生的条件

    源链接:https://blog.csdn.net/robinson1988/article/details/4980611 index range scan(索引范围扫描): 1.对于unique ...

  5. linux 虚拟机 磁盘空间压缩

    /usr/bin/vmware-toolbox-cmd disk list /usr/bin/vmware-toolbox-cmd disk shrink / init 0

  6. linux用户管理(1)----创建用户(adduser和useradd)和删除用户(userdel)

    一.常用命令: (1)创建用户命令两条: adduser useradd (2)用户删除命令: userdel 二.两个用户创建命令之间的区别 adduser: 会自动为创建的用户指定主目录.系统sh ...

  7. python基础学习1-内置函数

    #!/usr/bin/env python # -*- coding:utf-8 -*- 系统内置函数 n =abs(-1) #绝对值 print(n) #bytes()函数 s="离开&q ...

  8. 7-[CSS]-css介绍,引入方式

    1.CSS介绍:层叠样式表(Cascading Style Sheets) 我们为什么需要CSS? 使用css的目的就是让网页具有美观一致的页面,另外一个最重要的原因是内容与格式分离 在没有CSS之前 ...

  9. c#使用 HtmlAgilityPack来进行抓取和解析来获得table表格信息

    项目上要用到抓取网页,最后选用了HtmlAgilityPack来进行. 官网地址:https://html-agility-pack.net/,可以看一下 基础的: // From File var ...

  10. maven 打 fatjar

    备忘. 1. <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> < ...