1.sql语句分类: DQL语句 数据查询语言 select DML语句 数据操作语言 insert delete update DDL语句 数据定义语言 create drop alter TCL语句 事务控制语言 commit rollback 2.创建一个新的数据库,create database database_name; 删除一个数据库,drop database database_name; 3.导入数据库脚本,source url(该路径可直接拖动文件到dos命令窗口获得) 4.…
sql语句总结 总结内容 1. 基本概念 2. SQL列的常用类型 3. DDL简单操作 3.1 数据库操作 3.2 表操作 4. DML操作 4.1 修改操作(UPDATE SET) 4.2 插入操作(INSERT INTO VALUE) 4.3 删除操作(DELETE) 5. DQL操作 被操作的表 5.1 消除重复元素(DISTINCT) 5.2 算术运算符(+,-,*,/) 5.3 设置别名(AS) 5.4 按格式输出(**CONCAT**) 5.5 过滤查询(**WHERE**) 5.…
今天突然想起来,之前面试一个很牛逼的公司(soho)的时候,一个美眉面试官,面试的时候问到了很多之前都没有意识到的问题,回想起来那美眉看着年纪不大,技术那是真666啊.好了说一下人家问的这个有关mysql数据库中sql语句的执行顺序,也就是一个sql语句在mysql引擎中是如何一步步的执行的.比如有人问你select * from tableName where id = 10 and age < 20 limit 10;这句sql语句是怎么执行的.是不是瞬间蒙蔽了,哈哈哈.我当时也蒙蔽了,直接…
Oracle中SQL语句分类如下:1.DML语句 insert/delete/update/select/merge/explan plan/lock table2.DDL语句 create/atlter/drop/truncate/rename/grant/revoke/audit/noaudit3.DCL 事务控制语句:commit/rollback/savepoint/set transaction 会话控制语句:alter session set... 系统控制语句:alter syst…
1:提取公共的sql语句: 2:动态添加----sql语句: 代码: <insert id="test1" parameterType="com.floor.shop.model.Product"> INSERT INTO product <trim prefix="(" suffix=")" suffixOverrides=","> <if test="produc…
上一片介绍了一些基本的SQL的增删改查,这一片会介绍一些进阶的SQL语句使用. MySQL中的视图 视图是什么?当我们总是查询几张表的某个字段时,可以创建一张虚拟表,把这几个字段写入这个虚拟的表,这样之后,再查询这些字段,我们可以直接查询这个虚拟的表,这个虚拟的表就叫做视图.(不知道说清没,先记一句,视图是一个虚拟的表,) 创建视图的定义: CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] [DEFINER = {…
目前发现的mysql与其他数据库如SqlServer.Oracle不同的地方 mysql中的注释(--)后要多加一个空格才生效 mysql中查询条件的字符串可以是双引号 mysql中查询条件的字符串不区分大小写 mysql中不能按拼音排序,要将数据库的字符集由UTF-8修改为GBK mysql中有更简单的分页方法limit mysql中的sql语句表名.字段名可以添加``,用来过滤保留字符 当然还有许多方便的函数,就不列举了…
查看mysql版本:select version();方法一: show profiles.1. Show profiles是5.0.37之后添加的,要想使用此功能,要确保版本在5.0.37之后.   查看方法: show variables like "%pro%";(查看profiling是否开启) 设置开启方法: set profiling = 1; 可以开始执行一些想要分析的sql语句了,执行完后,show profiles:即可查看所有sql的总的执行时间. show pro…
static bool Verify(string username, string password) { //string strSql = "select * from users where username = '"+username+"' and password = '"+password+"'"; //直接拼接sql语句 string strSql = "select * from users where usernam…
1:数据定义语言(DDL) :创建和删除数据库(CREATE DATABASE || DROP  DATABASE):2:创建.修改.重命名.删除表(CREATE  TABLE || ALTER TABLE|| RENAME TABLE||DROP  TABLE):3:创建和删除索引(CREATEINDEX  || DROP INDEX) 2:数据查询语言(DQL) 从数据库中的一个或多个表中查询数据(SELECT) 3:数据操作语言(DML) 修改数据库中的数据,包括插入(INSERT).更新…
1.避免全表扫描 对查询进行优化,应尽量避免全表扫描,首先应考虑在where 及order by 涉及的列上建立索引. 2.避免判断null 值 应尽量避免在where 子句中对字段进行null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num 上设置默认值0,确保表中num 列没有null 值,然后这样查询: select id from t where num=0 3.避免不等值判断 应尽量避免在whe…
1.group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果.比较抽象,难以理解. 通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一组,将属于同一组的列显示出来.要返回哪些列,由函数参数(就是字段名)决定.分组必须有个标准,就是根据group by指定的列进行分组. group_concat函数应该是在内部执行了group by语句,这是我的猜测. 1.测试语句: select group_concat(town) from p…
<数据定义语言DDL> 一. create TABLE tableName 创建表 二. alter TABLE tableName 修改表 三. drop TBALE tableName 删除表 <数据控制语言DCL> GRANT/REVOKE <数据操纵语言DML> 一. insert INTO tableName(,,,) values(,,,); 插入数据(增) 二. update tableName SET =, =, =; 更新数据(改) 三. delete…
MYSQL5.7 假设我们有一个表 : h_member_cards_my  (ID, WXOPEN_ID) 表中有一条记录如下: 理论上第二个SQL应当是可以查询得到一条数据的, 结果却为 Empty set 也就是说, 当字段值为null时, 用 != 做判断时, 是匹配不到的…
delimiter // set @d=now(); select * from comment; select timestampdiff(second,@d,now()); delimiter ; Query OK, 0 rows affected (1 min 55.58 sec) +----------------------------------+ | timestampdiff(second, @d, now()) | +------------------------------…
转自 http://blog.csdn.net/ve_love/article/details/19685399…
书写顺序: select -> from -> where -> group by -> having -> order by 执行顺序: from -> where -> group by -> having -> select -> order by…
·1.几个小时内的数据 DATE_SUB(NOW(), INTERVAL 5 HOUR) 1 ·2.今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 1 ·3.昨天 select * from 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1; 1 ·4.7天 select * from 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <…
mysql中SQL执行过程详解 客户端发送一条查询给服务器: 服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果.否则进入下一阶段. 服务器段进行SQL解析.预处理,在优化器生成对应的执行计划: mysql根据优化器生成的执行计划,调用存储引擎的API来执行查询. 将结果返回给客户端.详见:http://student-lp.iteye.com/blog/2152601 ==============================华丽丽的分割线==================…
SQL语句分类:DDL,DML,DQL,DCL. 1.数据库操作: 创建数据库:create database 数据库名 charater set gbk; 删除数据库:drop database 数据库名称; 切换数据库: use 数据库名; 查看正在使用的数据库: select database(); 2.表操作:table 2.1 创建表 create table 表明{ 字段名 类型(长度) [约束], 字段名 类型(长度) [约束] }; 字符类型:varchar(n) 约束: *主键…
oracle中sql语句的优化 一.执行顺序及优化细则 1.表名顺序优化 (1) 基础表放下面,当两表进行关联时数据量少的表的表名放右边表或视图: Student_info   (30000条数据)Description_info (30条数据)  select *  from description_info di      ,student_info     si --学生信息表where si.student_id = di.lookup_code(+)   and di.lookup_t…
文章转自 https://www.cnblogs.com/annsshadow/p/5037667.html https://www.cnblogs.com/yyjie/p/7788428.html ql和mysql执行顺序,发现内部机制是一样的.最大区别是在别名的引用上. 一.sql执行顺序 (1)from (3) join (2) on (4) where (5)group by(开始使用select中的别名,后面的语句中都可以使用)   这里可以使用表中普通字段的别名,不能使用聚合函数的别…
MySQL的sql语言分类DML.DQL.DDL.DCL. SQL语言一共分为4大类:数据定义语言DDL,数据操纵语言DML,数据查询语言DQL,数据控制语言DCL 1.数据定义语言DDL(Data Definition Language) 对象: 数据库和表 关键词: create alter drop truncate(删除当前表再新建一个一模一样的表结构) 创建数据库:create database school; 删除数据库:drop database school; 切换数据库:use…
mysql的sql语句优化方法面试题总结 不要写一些没有意义的查询,如需要生成一个空表结构: select col1,col2 into #t from t where 1=0 这类代码不会返回任何结果集,但是会消耗系统资源的,应改成这样: create table #t(...) 很多时候用 exists 代替 in 是一个好的选择: select num from a where num in(select num from b) 用下面的语句替换: select num from a wh…
MySQL 数据库SQL语句--高阶版本2 实验准备 数据库表配置: mysql -uroot -p show databases; create database train_ticket; use train_ticket; create table REGION(region varchar(10),site varchar(20)); create table FARE(site varchar(20),money int(10),date varchar(15)); desc REGI…
MySQL高级SQL语句 目录 MySQL高级SQL语句 创建两个表 SELECT DISTINCT WHERE AND OR IN BETWEEN 通配符 LIKE ORDER BY 函数 数学函数 聚合函数 字符串函数 GROUP BY HAVING 别名 子查询 EXISTS 表连接的方式 表的自我连接 CREATE VIEW UNION 交集值 无交集值 CASE 空值 正则表达式 存储过程 存储过程的优点: 创建存储过程 查看存储过程 存储过程的参数 删除存储过程 存储过程的控制语句…
这篇文章主要介绍了Java的MyBatis框架中SQL语句映射部分的编写,文中分为resultMap和增删查改实现两个部分来讲解,需要的朋友可以参考下 1.resultMap SQL 映射XML 文件是所有sql语句放置的地方.需要定义一个workspace,一般定义为对应的接口类的路径.写好SQL语句映射文件后,需要在MyBAtis配置文件mappers标签中引用,例如: ? 1 2 3 4 5 6 <mappers>   <mapper resource="com/limi…
一.用户管理: 创建用户: create user '用户名'@'IP地址' identified by '密码'; 删除用户: drop user '用户名'@'IP地址'; 修改用户: rename user '用户名'@'IP地址'; to '新用户名'@'IP地址'; 修改密码: set password for '用户名'@'IP地址' = Password('新密码') 二.库相关操作 查看所有数据库: SHOW DATABASES; 创建数据库 : CREATE DATABASE…
开发人员基本都知道,我们的数据存在数据库中(目前最多的是mysql和oracle,由于作者更擅长mysql,所以这里默认数据库为mysql),服务器通过sql语句将查询数据的请求传入到mysql数据库.数据库拿到sql语句以后.都是进行了哪些操作呢?这里向大家介绍下我的个人的理解,欢迎大家评论区批评指正. 流程概述 mysql得到sql语句后,大概流程如下: 1.sql的解析器:负责解析和转发sql 2.预处理器:对解析后的sql树进行验证 3.查询优化器:得到一个执行计划 4.查询执行引擎:得…
官网参考:https://dev.mysql.com/doc/refman/5.6/en/innodb-locks-set.html MySQL把读操作分为两大类:锁定读和非锁定读(即locking read和nonlocking read),所谓非锁定读就是不对表添加事务锁的读操作,如Repeatable Read和Read Committed隔离级别下的select语句(可能脏读也算?).MySQL的一致性非锁定读是通过MVCC机制实现的.锁定读是指添加事务锁的读操作,例如select fo…