sql语句(Mysql数据库)
mysql -uroot -proot -hlocalhost -P3306 (-u表示用户名,-p密码,-h主机,-P端口号)
查看数据库列表: SHOW DATABASES;
选择数据库: USE 数据库名;
SHOW TABLES;
4.查看表结构:
方式一:SHOW COLUMNS FROM 表名;
方式二:DESCRIBE(DESC) 表名;
SHOW GRANTS ,查看用户权限
SHOW ERROR和SHOW WARNINGS ,显示服务器错误或警告信息
SELECT stu_name
FROM students;
FROM students;
SELECT *
FROM students;
FROM students;
FROM students
LIMIT 5;
----------------------------------------------------------------------
SELECT stu_name --limit关键字实现分页查询(两个参数)
FROM students
LIMIT 0,5;
SELECT stu_name --limit关键字实现分页查询
FROM students
LIMIT 5,5;
FROM students
LIMIT 5 OFFSET 0; --mysql5的新替代方法(取o行开始的5行)
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默认升序排序)
---------------------------------------------------------
ORDER BY 和 LIMIT 组合实现查询一个列的中的最高或最低的值。
找出最珍贵物品的值:
SELECT prod_price
FROM products
PRDER BY prod_price DESC
LIMIT 1;
-------------------------------------------
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;
------------------------------------------
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操作符一般比OR操作符执行更快。
IN最大的优点是可以包含其他SELECT语句,是的能够动态的建立WHERE字句。
SELECT prod_name,prod_price
FROM products
WHERE vend_id NOT IN (1002,1003)
ORDER BY prod_name;
---------------------------------------------------------------------------
LIke 用来只是Mysql说明后面的检索条件是使用通配符
通配符有两种:
% 匹配任意个数的字符
_ 匹配单个字符
from products
where prod_name like '%jes%';
尽量不要在搜索模式的开始处使用,把通配符至于搜索的开始处,搜索起来是最慢的。
检索出列prod_mame包含文本1000的所有的行:
SELECT prod_name
FROM products
WHERE prod_name REGEXP '1000'
ORDER BY prod_name;
SELECT prod_name
FROM products
WHERE prod_name LIKE '%1000%'
ORDER BY prod_name;
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匹配的是字串
REGEXP加入^ 和 $ 家可以实现与LIKE一样的作用
-----------------------------------------------------------------
sql语句(Mysql数据库)的更多相关文章
- mysql用户管理 常用sql语句 mysql数据库备份恢复
- mysql / pgsql 使用sql语句查询数据库所有表注释已经表字段注释
mysql使用sql语句查询数据库所有表注释已经表字段注释(转载) 场景: 1. 要查询数据库 "mammothcode" 下所有表名以及表注释 /* 查询数据库 ‘mammo ...
- oracle 用sql语句管理数据库
基础sql语句 创建数据库 :create database database_name; 创建表:create table(字段名 字段类型 字段为空约束 ,字段名 字段类型 字段为空约束,,,, ...
- 043:Django使用原生SQL语句操作数据库
Django使用原生SQL语句操作数据库 Django配置连接数据库: 在操作数据库之前,首先先要连接数据库.这里我们以配置 MySQL 为例来讲解. Django 连接数据库,不需要单独的创建一个连 ...
- 2-06使用SQL语句创建数据库3
向现有数据库中添加文件组和数据文件几种方式以及步骤: 第一种:在视图下添加文件组和数据文件. 添加文件组的步骤: 右击你想要添加文件组的数据库点属性,然后点文件组就可以添加. 添加数据文件的步骤: 下 ...
- 使用SQL语句清空数据库所有表的数据
使用SQL语句清空数据库所有表的数据 近来发现数据库过大,空间不足,因此打算将数据库的数据进行全面的清理,但表非常多,一张一张的清空,实在麻烦,因此就想利用SQL语句一次清空所有数据.找到了三种方法进 ...
- 全国省市级联数据sql语句 mysql版
全国省市级联数据sql语句 mysql版 --省级 provincial create table provincial ( provincialID int, provincialName ), p ...
- SQL语句获取数据库中的表主键,自增列,所有列
SQL语句获取数据库中的表主键,自增列,所有列 获取表主键 1:SELECT TABLE_NAME,COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_U ...
- 【转载】C#常用数据库Sqlserver通过SQL语句查询数据库以及表的大小
在Sqlserver数据库中,一般我们查看数据库的大小可以通过查找到数据库文件来查看,但如果要查找数据表Table的大小的话,则不可通过此方法,在Sqlserver数据库中,提供了相应的SQL语句来查 ...
- SQL语句还原数据库并移动文件到指定路径
用SQL语句还原数据库时如果不指定数据库文件的存储路径,则默认把数据文件和日志文件存放到与原数据库相同的文件路径中,这样可能会产生错误,比如执行下面的语句: restore database Smar ...
随机推荐
- React-Native 之 index.android.bundle
问题: index.android.bundle 这个bug 我相信很少同学会遇到,然而就是这个问题,困扰了我跟我的同事多天, 各种方法处理: 进入 android 目录 ./gradlew c ...
- Redis与高级语言内置的数据结构相比的异同及优势
相关链接: 为什么要用redis而不用map做缓存? Redis的数据结构及应用场景 Redis缓存和直接使用内存的比较 Java自带的数据结构(如HashMap,BitSet等)做缓存和NoSQL( ...
- C# 生成自签名CA证书
"; string signatureAlgorithm = "SHA1WithRSA"; // Generate RSA key pair var rsaGenerat ...
- css布局中关于 块状元素和行内元素的区分
这两天在准备实习的面试和笔试,准备复习一下这些基础的概念,避免自己处于一种仅脑袋理解嘴巴不能表述出来的状态. 块状元素和行内元素的概念是在css页面布局这个地方出现.主要是将html标签按照一定的特性 ...
- 浅谈IC行业产业链以及贸易商在产业链中的作用 2008-10-16 12:45[转自Michael的博客]
随着集成电路行业在中国的迅猛发展, 中国的低成本劳动力和开放的引入外资政策, 使得全球电子产品生产厂商为了降低成本, 增加产品市场竞争力, 纷纷在中国设立生产线, 而中国不断膨胀的购买力也促进了这一产 ...
- 设计一个分布式RPC框架
0 前言 提前先祝大家春节快乐!好了,先简单聊聊. 我从事的是大数据开发相关的工作,主要负责的是大数据计算这块的内容.最近Hive集群跑任务总是会出现Thrift连接HS2相关问题,研究了解了下内部原 ...
- Spring3学习笔记--spring概述
Spring 是什么? Spring 是一个开源的轻量级 Java SE( Java 标准版本)/Java EE( Java 企业版本)开发应用框架,其目的是用于简化企业级应用程序开发.在传统应用程序 ...
- TCP\UDP客户—服务器程序设计基本框架流程图
- jQuery 基础与运用
1. jquery引入以及入口函数 引入方式 <!--方式一:下载到本地,引入路径--> <script src="jquery-3.1.1.min.js"&g ...
- Python的scrapy之爬取6毛小说网的圣墟
闲来无事想看个小说,打算下载到电脑上看,找了半天,没找到可以下载的网站,于是就想自己爬取一下小说内容并保存到本地 圣墟 第一章 沙漠中的彼岸花 - 辰东 - 6毛小说网 http://www.6ma ...