mysql技术内幕之常规使用
mysql中:终止语句方法:
1.在语句结尾处,输入分号(;)表示语句到此结束
2.使用\g(意思是go)
\G以垂直的方式显示结果,每行显示一个值
数据库:数据库中包含表,对表中数据执行插入,检索,修改或删除操作
创建新的数据库:CREATE DATABASE sampdb;(从小写字母这里开始是自己取的数据库名字)
将当前数据库选中并设为默认数据库:①USE sampdb; ②SELECT DATABASE();
创建表:CREATE TABLE tbl_name(colum_spaces);
数据类型VARCHAR: VARCHAR(n)表示该列可存放长度可变的字符串,但其长度存在上限,最大字符为n个字符
AUTO_INCREMENT:自动生成索引号
PRIMARY KEY(member_id):表示member_id列创建索引,要求该列里的所有值都必须唯一,可以加快表的查找速度
ENUM('F','M'); 把表列的可能取值限定在某个有限集合里
创建一个表时在其末尾加ENGINE,表示为mysql应该使用的存储引擎指定名字(存储引擎是用来管理某种表的处理器),如:ENGINE=InnoDB;
表中插入一行值:INSERT INTO tbl_name VALUES(valu1,value2...); eg: INSERT INTO student VALUES('lymle','M',NULL);
还可以在一个表中一次插入多行:eg:INSERT INTO student VALUES('Avery','F',NULL),('Nathan','M',NULL);
创建的行,指定几列赋初值:格式:INSERT INTO tbl_name(col_name1,col_name2...) VALUES(value2,value2...); eg: INSERT INTO member (last_name,first_name)VALUES ('stein','waddo');
可一次插入多个值值列表:INSERT INTO student(name,sex) VALUES('Abby','F'),('Jo','M');
指定几列赋初值,第二种形式:INSERT INTO tbl_name SET col_name1=value,col_name2=value2...; eg:INSERT INTO member SET last_name='stein',first_name='waldo';
从文件中读取已经编好的语句(不像每次输入一行,文件中的是语句全部提前打好,最终一次性输入),倘若mysql已经运行,可以执行如下格式,SOURCE 文件名; eg:SOURCE insert_president.sql 此处文件名自己取,末尾的sql是方便查找代表里面存放的是sql语句。
读取文件中转载的原始数据:格式:LOAD DATA LOCAL INFILE '文件名‘ INTO
检索信息: SELECT ( what to retrieve) FROM (table or tables) WHERE (coditions that data must satisfy); 其中大写字母为关键字,括号中的为可替换词
WHERE子句的表达式:允许使用算术运算符,比较运算符,逻辑运算符。
当把一个列与大量值进行比较时,即从选中的这列中筛选出满足条件的值(只需满足其中一个条件即可)时,用IN()会比较方便 eg: SELECT last_name,first_name FROM president WHERE state IN('VA','MA');
NULL表示无值或未知值,要判断一个值是否为NULL,只能用IS NULL 或IS NOT NULL,而不能用=,<,或<>(这是不等于的意思) eg:SELECT last_name,first_name FROM president WHERE death IS NULL; <=>用于比较NULL与NULL,NULL与NULL的结果为1
对查询结果排序:在查询语句后加一条ORDER BY 子句,默认方式是升序排列,在列名后面加关键字ASC(升序)或DESC(降序又叫逆序) eg:SELECT last.name,state FROM president ORDER BY state DESC;
对多列排序时,每列可以单独地升序或降序: eg:SELECT last_name,state FROM president ORDER BY state ESC,last_name ASC;
排序时,升序:NULL出现在开头,降序时,NULL出现在末尾。想要不服从这种顺序,可以使用IF()函数,计算第一个参数给出地表达式的值,结果为真,返回第二个参数的值,若结果为假,则返回第三个参数的值,排序时默认把真的放到假的前面,设置时可以把需要排在前面的通过条件设成真即可。
限制查询结果输出行数:在末尾加LIMIT eg:SELECT bir FROM pre ORDER BY birth LIMIT 5; 按出生日期把排在前5位的总统列出来
通过LIMIT,从查询结果的中间抽出部分连续行,需要指定两个值,①从查询结果的开头跳过的行数②需要返回的行数目 eg: SELECT birth FROM president ORDER BY birth DESC LIMIT 10,5; //跳过前10行,取之后连续的5行
将查询结果连接,使用关键字CONNECT eg:SELECT CONNECT (first_name,' ',last_name)CONNECT(city,' ',state) FROM president; //先将名和姓用空格连起来,连接表中的几列
为输出列分配别名(当输出列的名字很长时),格式:AS name 若输出列别名中含有空格,别名必须用引号引起来 eg: SELECT CONNECT (first_name,' ',last_name)AS name, CONNECT(city,' ',state) AS Birthplace FROM president ;
在为列提供别名时,可以省略关键字AS, eg:SELECT 1 one,2 two,3 three;
检索具体的某一年,月,日,使用YEAR(),MONTH(),DAYOFMONTH()函数, eg:SELECT last_name,birth FROM president WHERE MONTH(birth)=3 AND DAYOFMONTH(birth)=29;//找出3月29日出生的总统
查询今日,使用CURDATE()函数
查询两个日期间的时间间隔:①当已知两个日期时,用TIMESTANPDIFF()函数, 格式: TIMESTAMPDIFF(interval,datetime_expre1,datetime_expr2) 后面两个是比较的时间点,后减前为时间间隔,其中 interval(时间间隔单位)必须是下面几种之一: FRAC_SECOND 表示间隔是毫秒, SECOND 秒 ,MINUTE 分钟,HOUR 小时 DAY 天 ,WEEK 星期, MONTH 月, QUARTER 季度 , YEAR 年 eg: SELECT last_name,expiration FROM member WHERE TIMESTAMPDIFF( DAY ,CURDATE(),expiration)<60;
②已知一个日期和时间间隔,计算另一个日期,关键函数:DATA_ADD()和DATA_SUB() eg: SELECT DATA_ADD('1970-1-1', INTERVAL 10 YEAR); //其中的interval为间隔,该条语句能把在这10年期间的都搜索出来
mysql技术内幕之常规使用的更多相关文章
- Mysql技术内幕(第四版)读书笔记(一)
题记:写代码已经有2年了,学到了很多知识,但是没有一个好习惯去记录,去分享,好多知识点都会忘记,所以从今天开始学着像大牛一样去记录自己经历项目的点点滴滴,先从最近读<Mysql技术内幕>开 ...
- mysql技术内幕InnoDB存储引擎-阅读笔记
mysql技术内幕InnoDB存储引擎这本书断断续续看了近10天左右,应该说作者有比较丰富的开发水平,在源码级别上分析的比较透彻.如果结合高可用mysql和高性能mysql来看或许效果会更好,可惜书太 ...
- MySql技术内幕之MySQL入门(2)
MySql技术内幕之MySQL入门(2) 接上一篇. mysql> source create_member.sql; # 创建member表 Query OK, 0 rows affected ...
- MySql技术内幕之MySQL入门(1)
目录 MySql技术内幕之MySQL入门(1) 安装 关于注释 执行SQL语句 关于命令大小写 创建数据库 查看表的信息 查看更加详细的信息 查看与给定模式相匹配的列 插入数据 利用insert添加行 ...
- 《MySQL技术内幕:InnoDB存储引擎(第2版)》书摘
MySQL技术内幕:InnoDB存储引擎(第2版) 姜承尧 第1章 MySQL体系结构和存储引擎 >> 在上述例子中使用了mysqld_safe命令来启动数据库,当然启动MySQL实例的方 ...
- 《mysql技术内幕 InnoDB存储引擎(第二版)》阅读笔记
一.mysql架构 mysql是一个单进程多线程架构的数据库. 二.存储引擎 InnoDB: 支持事务 行锁 读操作无锁 4种隔离级别,默认为repeatable 自适应hash索引 每张表的存储都是 ...
- Mysql技术内幕——InnoDB存储引擎
Mysql技术内幕——InnoDB存储引擎 http://jingyan.baidu.com/article/fedf07377c493f35ac89770c.html 一.mysql体系结构和存储引 ...
- 《[MySQL技术内幕:SQL编程》读书笔记
<[MySQL技术内幕:SQL编程>读书笔记 2019年3月31日23:12:11 严禁转载!!! <MySQL技术内幕:SQL编程>这本书是我比较喜欢的一位国内作者姜承尧, ...
- 读书笔记-《Mysql技术内幕》
MYSQL 技术内幕 Mysql体系 连接池组件 管理服务和工具 SQL接口 查询分析器 优化器 缓冲 插件式存储引擎 物理文件 存储引擎 InnoDB(默认引擎) 支持事务 行锁设计 多版本并发控制 ...
随机推荐
- Java学习05 (第一遍) - JSP与Servlet
JSP 客户端发出Request请求,JSP容器将JSP转译为Servlet的源码,再编译加载到内存执行,结果Response到客户端. Request->JSP->Servlet(jav ...
- 上任com的发布流程
参考:https://blog.csdn.net/qq_19674905/article/details/80268815 首先把本地代码提交到远程自己的git分支,然后merge request到m ...
- centos远程连接putty工具配置
Putty工具连接与使用步骤 作者:jason 登陆linux 一.关闭防火墙 输入命令 setup 完成后: 二.关闭selinux 输入命令 cd /etc/selinux 输入命令 vi co ...
- Kafka日志及Topic数据清理
由于项目原因,最近经常碰到Kafka消息队列拥堵的情况.碰到这种情况为了不影响在线系统的正常使用,需要大家手动的清理Kafka Log.但是清理Kafka Log又不能单纯的去删除中间环节产生的日志, ...
- MyBatis 3 使用注解配置SQL映射器
l 在映射器Mapper接口上使用注解 l 映射语句 @Insert,@Update,@Delete,@SeelctStatements l 结果映射 一对一映射 一对多映射 l 动态SQL @Sel ...
- centos7防火墙以设置以及关闭selinux
一.CentOS 7.X 关闭SELinux 1.查看 getenforce permissive 或者 enforcing模式 2.临时设置 setenforce 1 成为permissive模式 ...
- Light Probe Proxy Volume
[Light Probe Proxy Volume] The Light Probe Proxy Volume (LPPV) component allows you to use more ligh ...
- msf客户端渗透(九):获取PHP服务器shell
如果一个网页存在可以include外链的漏洞,我们可以利用这个漏洞include本机上的文件,从而获取web服务器的shell. 设置目标的IP 根据网页的路径设置参数 设置cookie 选择payl ...
- 二、Adapter 适配器
适配器:继承适配与委托适配 需求:Banner 可以输出强电流380v.弱电流12v,但是不能被直接使用.通过别的方式,介间的使用banner? 委托类图: 代码清单: 需要隐藏的功能类: publi ...
- IDEA中配置Maven+spring MVC+tomcat
一:配置Maven安装教程如下: http://blog.csdn.net/qq_32588349/article/details/51461182 实际安装过程中,如果按照教程配置如下属性,最后创建 ...