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(默认引擎) 支持事务 行锁设计 多版本并发控制 ...
随机推荐
- spark LBFGS 设置参数
http://blog.csdn.net/bon_mot/article/details/72461318
- CSS 字体风格
粗体 font-weight 属性可以设置文本的粗细. 它有两个属性: normal 普通粗细 bold 粗文本 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...
- js基础-对象
对象是一组属性方法的无序集 除了字符串.数值类型.布尔类型.null.undefined 之外的其他都是对象类型 对象都是引用类型 Object类型对象.数组类型对象 如果一个普通函数前面加了new ...
- js基础-直接量与变量
直接量 123 "abc" console.log("234") true false 变量 var x = 123 变量可先声明后赋值 var定义的都是局部变 ...
- HTML表格与表单复习
1.表格 <table></table> 表格 width:宽度.可以用像素或百分比表示.常用960像素. border:边框.常用值0. cellpadding:内容跟单元格 ...
- python安装与IO编程
<python爬虫开发与项目实战>基础篇(一) 一.python安装 1.python IDLE 下载官网:www.python.org 注:在选择安装组件时勾选所有组件,特别注意勾选pi ...
- JAVA 课堂测试
package ACC; /*信1705-2班 * 20173623 * 赵墨涵 */ public class Account { String accountID; String accountn ...
- OpenCV SVM
#include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <ope ...
- ubuntu下zaibbix3.2报警搭建
1.安装sudo apt install sendmail 2.测试发送邮件: echo "正文!" | mail -s 标题 XXX@qq.com 3.成功后继续安装邮件服务器. ...
- GitLab 汉化
汉化Gitlab Gitlab默认语言是英文,对于想加强英文的同学,建议继续使用英文,但要求使用中文,这里需要下载一个汉化包下载最新的汉化包: 下载最新的汉化包: [root@gitlab ~]# g ...