网站建设答辩问题,创意设计报告,广东省广州市白云区区号,聊城seo优化目录 基本操作登录指令#xff1a;启动、关闭、重启mysql指令#xff08;适用于centos7#xff09;#xff1a;查看mysql运行状态#xff1a;删除和创建表 修改密码#xff08;ubuntu18.04可行#xff0c;其余版本行不行不知道#xff09;3 使用MYSQL了解数据库和表 4 … 目录 基本操作登录指令启动、关闭、重启mysql指令适用于centos7查看mysql运行状态删除和创建表 修改密码ubuntu18.04可行其余版本行不行不知道3 使用MYSQL了解数据库和表 4 检索数据检索单个列检索多个列检索所有列检索不同的行限制结果使用完全限定的表名 5 排序检索数据排序数据按多个排序指定排序方向 6 过滤数据使用WHERE子句 6.2 WHERE子句操作符7 数据过滤组合WHERE子句AND操作符OR操作符AND和OR计算次序 IN操作符NOT操作符 8 用通配符进行过滤LIKE操作符百分号(%)通配符下划线(_)通配符 使用通配符的技巧 9 用正则表达式进行搜索使用MySQL正则表达式基本字符匹配进行OR匹配匹配几个字符之一匹配范围匹配特殊字符 橙色
基本操作
登录指令
mysql -u root -p启动、关闭、重启mysql指令适用于centos7
sudo service mysqld start
sudo service mysqld stop
sudo service mysqld restart查看mysql运行状态
service mysqld status删除和创建表
删除表
drop table [表名];创建表比较复杂
修改密码ubuntu18.04可行其余版本行不行不知道
参考了这篇文章
经验仅适用于ubuntu18.04
因为密码错误或者刚初始化不知道密码是多少无法登入mysql服务器所以要先找到/etc/mysql/mysql.conf.d/mysqld.cnf 这个文件中的[mysqld]这一段。这也是网上很多博文的一个坑无法找到my.cnf配置文件。这是因为mysql5.7.17将原先的my.cnf改为mysqld.cnf并放在/etc/mysql/mysql.conf.d/路径下。
进入mysqld.cnf 这个文件后找到 [mysqld] 段并加入一行“skip-grant-tables”,保存退出 。
重启mysql服务,用空密码进入mysql管理命令行切换到mysql库,操作命令如下
sudo service mysql restart登陆进去mysql后
use mysqld
update mysql.user set authentication_stringpassword(123) where userroot’;
update user set pluginmysql_native_password;
flush privileges; #立即生效退出mysql登录
quit至此密码修改完成记得把上面加入的skip-grant-tables命令注释掉 该书附录b中提到的两个.sql脚本文件可在该网站下载。具体下载地方如下
先创建一个数据库
选定该数据库
将上面所下载好的两个sql脚本文件传入虚拟机或者服务器中在mysql命令行中可以通过如下指令执行这两个脚本
至此准备工作已就绪下面开始学习 3 使用MYSQL
了解数据库和表
查看当前选择的数据库中所有表的名称
SHOW TABLES;显示customers表的信息
//这两个语句有相同的效果
SHOW COLUMNS FROM customers;
DESCRIBE customers;4 检索数据
检索单个列
从products表中检索一个名为prod_name的列因为没有明确排序查询结果所以返回的数据的顺序是随机的。
SELECT prod_name FROM products;检索多个列
SELECT prod_id,prod_name,prod_price FROM products;检索所有列
SELECT * FROM products;检索不同的行
SELECT能返回对应列名的所有行假如我想得到products表中产品的所有供应商ID
SELECT语句返回14行即使表中只有4个供应商因为products表中列出了14个产品。那么如何检索出有不同值的列表呢 解决办法是使用DISTINCT关键字顾名思义此关键字指示MySQL只返回不同的值。 限制结果
此语句使用SELECT语句检索单个列。LIMIT 5指示MySQL返回不多于5行。
SELECT prod_name FROM products LIMIT 5;为得出下一个5行可指定要检索的开始行和行数如下所示 LIMIT 5, 5指示MySQL返回从行5开始的5行。第一个数为开始位置第二个数为要检索的行数。
SELECT prod_name FROM products LIMIT 5,5;行0检索出来的第一行为行0而不是行1。因此LIMIT 1, 1将检索出第二行而不是第一行。行0是第一行行1是第二行 使用完全限定的表名
这里指定了一个完全限定的列名
SELECT products.prod_name FROM products;当然表名也是可以完全限定的
SELECT products.prod_name FROM experience.products;5 排序检索数据
排序数据
下面的SQL语句返回某个数据库表的单个列。但请看其输出并没有特定的顺序。
为了明确地排序用SELECT语句检索出的数据可使用ORDER BY子句。ORDER BY子句取一个或多个列的名字据此对输出进行排序。请看下面的例子
SELECT prod_name FROM products ORDER BY prod_name;按多个排序
下面的代码检索3个列并按其中两个列对结果进行排序——首先按价格然后再按名称排序。注意仅在多个行具有相同的prod_price值时才对产品按prod_name进行排序。如果prod_price列中所有的值都是唯一的则不会按prod_name排序。
SELECT prod_id,prod_price,prod_name
FROM products
ORDER BY prod_price,prod_name;指定排序方向
数据排序不限于升序排序从A到Z。这只是默认的排序顺序还可以使用ORDER BY子句以降序从Z到A顺序排序。为了进行降序排序必须指定DESC关键字。如下面的例子最贵的排在前面
SELECT prod_id,prod_price,prod_name
FROM products
ORDER BY prod_pricE DESC;DESC关键字只应用到直接位于其前面的列名。在上例中只对prod_price列指定DESC对prod_name列不指定。因此prod_price列以降序排序而prod_name列在每个价格内仍然按标准的升序排序。 所以如果想在多个列上进行降序排序必须对每个列指定DESC关键字。 使用ORDER BY和LIMIT的组合能够找出一个列中最高或最低的值。下面例子展示了如何找出最昂贵物品的值
mysql SELECT prod_price- FROM products- ORDER BY prod_price DESC- LIMIT 1;ORDER BY子句的位置 在给出ORDER BY子句时应该保证它位于FROM子句之后。如果使用LIMIT它必须位于ORDER BY之后。使用子句的次序不对将产生错误消息 6 过滤数据
使用WHERE子句
数据库表一般包含大量的数据很少需要检索表中所有行。通常只会根据特定操作或报告的需要提取表数据的子集。只检索所需数据需要指定搜索条件search criteria搜索条件也称为过滤条件filter condition。
在SELECT语句中数据根据WHERE子句中指定的搜索条件进行过滤。WHERE子句在表名FROM子句之后给出如下所示
mysql SELECT prod_name,prod_price- FROM products- WHERE prod_price2.5;WHERE子句的位置 在同时使用ORDER BY和WHERE子句时应该让ORDER BY位于WHERE之后否则将会产生错误 6.2 WHERE子句操作符
MySQL支持下表所列出的所有操作符
来看几个使用其他操作符的例子。
第一个例子是列出价格小于10美元的所有产品
mysql SELECT prod_name,prod_price- FROM products- WHERE prod_price10;范围值检查 为了检查某个范围的值可使用BETWEEN操作符。它需要两个值即范围的开始值和结束值。例如BETWEEN操作符可用来检索价格在5美元和10美元之间或日期在指定的开始日期和结束日期之间的所有产品。
mysql SELECT prod_name,prod_price- FROM products- WHERE prod_price BETWEEN 5 AND 10;从这个例子中可以看到在使用BETWEEN时必须指定两个值——所需范围的低端值和高端值。这两个值必须用AND关键字分隔。BETWEEN匹配范围中所有的值包括指定的开始值和结束值。 空值检查 NULL 无值no value它与字段包含0、空字符串或仅仅包含空格不同。 mysql SELECT cust_id- FROM customers- WHERE cust_email IS NULL;7 数据过滤
组合WHERE子句
第6章中介绍的所有WHERE子句在过滤数据时使用的都是单一的条件。为了进行更强的过滤控制MySQL允许给出多个WHERE子句。这些子句可以两种方式使用以AND子句的方式或OR子句的方式使用。
AND操作符
如下的例子通过WHERE组合子句检索由供应商1003制造且价格小于等于10美元的所有产品的id、名称和价格。
OR操作符
应该比较好理解检索由供应商id为1002或1003的供应商所制造的所有产品的产品名和价格
mysql SELECT prod_name,prod_price- FROM products- WHERE vend_id1002 OR vend_id1003;AND和OR计算次序
如下的例子明明设置了prod_price应该大于等于10但筛选出来的仍旧有两条数据的price小于10这是因为AND的优先级比OR更高所以SQL理解为由供应商1003制造的任何价格为10美元含以上的产品或者由供应商1002制造的任何产品而不管其价格如何。
解决的方法就是通过圆括号因为圆括号具有较AND或OR操作符高的计算次序如下
IN操作符
圆括号在WHERE子句中还有另外一种用法。IN操作符用来指定条件范围范围中的每个条件都可以进行匹配。IN取合法值的由逗号分隔的清单全都括在圆括号中。下面的例子说明了这个操作符
NOT操作符
WHERE子句中的NOT操作符有且只有一个功能那就是否定它之后所跟的任何条件。这里的NOT否定跟在它之后的条件因此MySQL不是匹配1002和1003的 vend_id 而是匹配 1002 和 1003 之外供应商的vend_id。 8 用通配符进行过滤
LIKE操作符
通配符用来匹配值的一部分的特殊字符。 搜索模式由字面值、通配符或两者组合构成的搜索条件。
为在搜索子句中使用通配符必须使用LIKE操作符。LIKE指示MySQL后跟的搜索模式利用通配符匹配而不是直接相等匹配进行比较。
百分号(%)通配符
最常使用的通配符是百分号%。在搜索串中%表示任何字符出现任意次数。例如为了找出所有以词jet起头的产品可使用以下SELECT语句 分析此例子使用了搜索模式’jet%。在执行这条子句时将检索任意以jet起头的词。%告诉MySQL接受jet之后的任意字符不管它有多少字符。
通配符可在搜索模式中任意位置使用并且可以使用多个通配符。下面的例子使用两个通配符它们位于模式的两端 分析搜索模式’%anvil%表示匹配任何位置包含文本anvil的值而不论它之前或之后出现什么字符。
下划线(_)通配符
下划线的用途与%一样但下划线只匹配单个字符而不是多个字符。
使用通配符的技巧
通配符搜索的处理一般要比前面讨论的其他搜索所花时间更长。所以不要过度使用通配符。如果其他操作符能达到相同的目的应该使用其他操作符。在确实需要使用通配符时除非绝对有必要否则不要把它们用在搜索模式的开始处。把通配符置于搜索模式的开始处搜索起来是最慢的。
9 用正则表达式进行搜索
使用MySQL正则表达式
基本字符匹配
关键字REGEXP告诉MySQLREGEXP后所跟的东西作为正则表达式使用了正则表达式’.000’。.是正则表达式语言中一个特殊的字符。它表示匹配任意一个字符因此1000和2000都匹配且返回。 MySQL中的正则表达式匹配自版本3.23.4后不区分大小写即大写和小写都匹配。为区分大小写可使用BINARY关键字如WHERE prod_name REGEXP BINARY ‘JetPack .000’。
进行OR匹配
为搜索两个串之一或者为这个串或者为另一个串使用 | 如下所示 分析语句中使用了正则表达式1000|2000。|为正则表达式的OR操作符。它表示匹配其中之一因此1000和2000都匹配并返回。
匹配几个字符之一
这里使用了正则表达式[123] Ton。[123]定义一组字符它的意思是匹配1或2或3因此1 ton和2 ton都匹配且返回没有3 ton。 字符集合也可以被否定即它们将匹配除指定字符外的任何东西。为否定一个字符集在集合的开始处放置一个^即可。因此尽管[123]匹配字符1、2或3但 [^123] 却匹配除这些字符外的任何东西。
匹配范围
集合可用来定义要匹配的一个或多个字符。例如下面的集合将匹配数字0到9
为简化这种类型的集合可使用-来定义一个范围。下面的式子功能上等同于上述数字列表 此外范围不一定只是数值的[a-z]匹配任意字母字符。
举个例子 分析这里使用正则表达式[1-5] Ton。[1-5]定义了一个范围这个表达式意思是匹配1到5因此返回3个匹配行。由于5 ton匹配所以返回.5 ton。
匹配特殊字符
正则表达式语言由具有特定含义的特殊字符构成。我们已经看到.、[]、|和-等还有其他一些字符。请问如果你需要匹配这些字符应该怎么办呢 如下 这并不是期望的输出.匹配任意字符因此每个行都被检索出来。
为了匹配特殊字符必须用\为前导。\-表示查找-\.表示查找.。 分析\.匹配.所以只检索出一行。这种处理就是所谓的转义escaping正则表达式内具有特殊意义的所有字符都必须以这种方式转义。这包括.、|、[]以及迄今为止使用过的其他特殊字符。
文章转载自: http://www.morning.ghphp.cn.gov.cn.ghphp.cn http://www.morning.kpzbf.cn.gov.cn.kpzbf.cn http://www.morning.zxrtt.cn.gov.cn.zxrtt.cn http://www.morning.mdlqf.cn.gov.cn.mdlqf.cn http://www.morning.fxzw.cn.gov.cn.fxzw.cn http://www.morning.sjjq.cn.gov.cn.sjjq.cn http://www.morning.dmhs.cn.gov.cn.dmhs.cn http://www.morning.dyxlj.cn.gov.cn.dyxlj.cn http://www.morning.yydeq.cn.gov.cn.yydeq.cn http://www.morning.zdnrb.cn.gov.cn.zdnrb.cn http://www.morning.tbqbd.cn.gov.cn.tbqbd.cn http://www.morning.drytb.cn.gov.cn.drytb.cn http://www.morning.nqdkx.cn.gov.cn.nqdkx.cn http://www.morning.mmsf.cn.gov.cn.mmsf.cn http://www.morning.pjwml.cn.gov.cn.pjwml.cn http://www.morning.fjzlh.cn.gov.cn.fjzlh.cn http://www.morning.kqgsn.cn.gov.cn.kqgsn.cn http://www.morning.ejknty.cn.gov.cn.ejknty.cn http://www.morning.rgqnt.cn.gov.cn.rgqnt.cn http://www.morning.jtmrx.cn.gov.cn.jtmrx.cn http://www.morning.myxps.cn.gov.cn.myxps.cn http://www.morning.lwgrf.cn.gov.cn.lwgrf.cn http://www.morning.nfccq.cn.gov.cn.nfccq.cn http://www.morning.xqffq.cn.gov.cn.xqffq.cn http://www.morning.amlutsp.cn.gov.cn.amlutsp.cn http://www.morning.gcrlb.cn.gov.cn.gcrlb.cn http://www.morning.rfhm.cn.gov.cn.rfhm.cn http://www.morning.nxfuke.com.gov.cn.nxfuke.com http://www.morning.wgtr.cn.gov.cn.wgtr.cn http://www.morning.tqdlk.cn.gov.cn.tqdlk.cn http://www.morning.cwzzr.cn.gov.cn.cwzzr.cn http://www.morning.hcsqznn.cn.gov.cn.hcsqznn.cn http://www.morning.rqqn.cn.gov.cn.rqqn.cn http://www.morning.gfhng.cn.gov.cn.gfhng.cn http://www.morning.fqnql.cn.gov.cn.fqnql.cn http://www.morning.ljsxg.cn.gov.cn.ljsxg.cn http://www.morning.bfhrj.cn.gov.cn.bfhrj.cn http://www.morning.ckntb.cn.gov.cn.ckntb.cn http://www.morning.rbkdg.cn.gov.cn.rbkdg.cn http://www.morning.spghj.cn.gov.cn.spghj.cn http://www.morning.wqrk.cn.gov.cn.wqrk.cn http://www.morning.lqklf.cn.gov.cn.lqklf.cn http://www.morning.gynls.cn.gov.cn.gynls.cn http://www.morning.wphzr.cn.gov.cn.wphzr.cn http://www.morning.jfxdy.cn.gov.cn.jfxdy.cn http://www.morning.mzmqg.cn.gov.cn.mzmqg.cn http://www.morning.wlqll.cn.gov.cn.wlqll.cn http://www.morning.ctfwl.cn.gov.cn.ctfwl.cn http://www.morning.jkbqs.cn.gov.cn.jkbqs.cn http://www.morning.hksxq.cn.gov.cn.hksxq.cn http://www.morning.kaoshou.net.gov.cn.kaoshou.net http://www.morning.qtltg.cn.gov.cn.qtltg.cn http://www.morning.ypfw.cn.gov.cn.ypfw.cn http://www.morning.qshxh.cn.gov.cn.qshxh.cn http://www.morning.fkdts.cn.gov.cn.fkdts.cn http://www.morning.txtzr.cn.gov.cn.txtzr.cn http://www.morning.rwxnn.cn.gov.cn.rwxnn.cn http://www.morning.gtnyq.cn.gov.cn.gtnyq.cn http://www.morning.splkk.cn.gov.cn.splkk.cn http://www.morning.sqqds.cn.gov.cn.sqqds.cn http://www.morning.ldcsw.cn.gov.cn.ldcsw.cn http://www.morning.lpppg.cn.gov.cn.lpppg.cn http://www.morning.rkkpr.cn.gov.cn.rkkpr.cn http://www.morning.wqpsf.cn.gov.cn.wqpsf.cn http://www.morning.hjjkz.cn.gov.cn.hjjkz.cn http://www.morning.gbybx.cn.gov.cn.gbybx.cn http://www.morning.mdrnn.cn.gov.cn.mdrnn.cn http://www.morning.lwgrf.cn.gov.cn.lwgrf.cn http://www.morning.hwcln.cn.gov.cn.hwcln.cn http://www.morning.nmkfy.cn.gov.cn.nmkfy.cn http://www.morning.ysjjr.cn.gov.cn.ysjjr.cn http://www.morning.xkwyk.cn.gov.cn.xkwyk.cn http://www.morning.ctbr.cn.gov.cn.ctbr.cn http://www.morning.lzjxn.cn.gov.cn.lzjxn.cn http://www.morning.lmqfq.cn.gov.cn.lmqfq.cn http://www.morning.bgnkl.cn.gov.cn.bgnkl.cn http://www.morning.ltypx.cn.gov.cn.ltypx.cn http://www.morning.xblrq.cn.gov.cn.xblrq.cn http://www.morning.ndyrb.com.gov.cn.ndyrb.com http://www.morning.dlmqn.cn.gov.cn.dlmqn.cn