MYSQL练习随笔
解法练习
案例1.子查询练习
字段 说明
film_id 电影id
title 电影名称
description 电影描述信息
category_id 电影分类id
name 电影分类名称
last_update 电影分类最后更新时间
film_id 电影id
category_id 电影分类id
last_update 电影id和分类id对应关系的最后更新时间
CREATE TABLE IF NOT EXISTS film (film_id smallint(5) NOT NULL DEFAULT '0',title varchar(255) NOT NULL,description text,PRIMARY KEY (film_id));
CREATE TABLE category (category_id tinyint(3) NOT NULL ,name varchar(25) NOT NULL, `last_update` timestamp,PRIMARY KEY ( category_id ));
CREATE TABLE film_category (film_id smallint(5) NOT NULL,category_id tinyint(3) NOT NULL, `last_update` timestamp);
- select title,description
- from film
- where film_id in(select film_id from film_category
- where category_id in(select category_id from category w
- where name='Action'))
- --子查询解法
- select f.title,f.description
- from film as f inner join film_category as fc on f.film_id = fc.film_id
- inner join category as c on c.category_id = fc.category_id
- where c.name = 'Action';
- --常规解法
名词解释补充
Explain解释
获取select * from employees对应的执行计划
- explain select * from employees
连接字符串
将employees表的所有员工的last_name和first_name拼接起来作为Name,中间以一个空格区分
- --MySQL、SQL Server、Oracle等数据库支持CONCAT方法,
- 而本题所用的SQLite数据库只支持用连接符号"||"来连接字符串
- --CONCAT方法:
- select CONCAT(CONCAT(last_name," "),first_name) as name from employees
- --或者
- select CONCAT(last_name," ",first_name) as name from employees
- --本题中使用:
- select last_name||" "||first_name as name from employees
插入数据时,已有则忽略
- insert IGNORE into ‘表’
- values()
创建索引
- CREATE UNIQUE INDEX ... ON ... 创建唯一索引值
- CREATE INDEX ... ON ... 创建普通索引值
- --例
- CREATE UNIQUE INDEX uniq_idx_firstname ON actor(first_name);
- CREATE INDEX idx_lastname ON actor(last_name);
MYSQL中常用的强制性操作
网址:https://www.jb51.net/article/49807.htm
截取字符串
- substr(字符串,起始位置,长度)
- 起始位置:截取的子串的起始位置(注意:字符串的第一个字符的索引是1)。值为正时从字符串开始位置 开始计数,值为负时从字符串结尾位置开始计数。
- 长度:截取子串的长度
- --例 取first_name最后两位
- select first_name from employees
- order by substr(first_name,length(first_name)-1,2)
--MYSQL中的Right函数
SELECT first_name FROM employees ORDER BY RIGHT(first_name ,2);
group_concat() 函数
- group_concat( [DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator ‘分隔符’]
--分组后连接
MYSQL练习随笔的更多相关文章
- MySQL使用随笔
001 查看版本 mysql --version mysql > select version(); mysql > status; 002 新建MySQL用户.授权 insert int ...
- Mysql查询优化随笔记录
select SQL_CALC_FOUND_ROWS * from (select * from oses_vehdata201606 union all select * from oses_ ...
- MySQL的随笔
数据库引擎 MySQL5.0支持的存储引擎包括MyISAM,InnoDB.MEMORY.MERGE.BDB等等,其中InnoDB和BDB提供事务安全表,其他存储引擎都是非事务安全表. MyISAM M ...
- 深入浅出mysql全文随笔
进入mysql :mysql -uroot -p 1.DDL(Data Definition Languages)语句:数据定义语言 2.DML(Data Manipulation Language) ...
- MySQL学习随笔记录
安装选custmer自定义安装.默认安装全部在c盘.自定义安装的时候有个advance port选项用来选择安装目录. -----------------------MySQL常见的一些操作命令--- ...
- MySQL -2- 体系结构--随笔小记
简介与安装NoSQLRDBMS版本安装方式二进制安装,源码安装体系结构CS模型TCP/IPsocketmysql master thread 实例mysqld 的程序构成连接层 协议.验证.链接线程S ...
- MySQL/MariaDB随笔二
mariaDB的二进制安装:系统版本和MariaDB版本 [root@ ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@ ~ ...
- MySQL/MariaDB随笔一
1.yum 安装后先跑一下系统自带的安全脚本,否则数据库很不安全,任何人都可以登录 [root@xixi ~]# mysql_secure_installation NOTE: RUNNING ALL ...
- mysql时间随笔
SELECT FROM_UNIXTIME(create_time,'%Y-%m-%d %H:%i:%s') FROM `order`; select date_add(FROM_UNIXTIME(cr ...
随机推荐
- Hive性能调优(一)----文件存储格式及压缩方式选择
合理使用文件存储格式 建表时,尽量使用 orc.parquet 这些列式存储格式,因为列式存储的表,每一列的数据在物理上是存储在一起的,Hive查询时会只遍历需要列数据,大大减少处理的数据量. 采用合 ...
- Python—网络抓包与解包(pcap、dpkt)
pcap安装 [root@localhost ~]# pip install pypcap 抓包与解包 # -*- coding:utf-8 -*- import pcap, dpkt import ...
- 4-8 pie与布局
In [1]: %matplotlib inline import matplotlib.pyplot as plt 1.pie简单参数:plt.pie(x, explode=None, labe ...
- 1. 配置Java开发环境
一.JDK & JRE & JVM 1. JDK是什么? JDK的全称是Java SE Development Kit,即Java标准版开发包,是Oracle提供的一套用于开发Java ...
- django框架创建app及使用、
App 创建一个app : python manage.py startapp app01 admin: from django.contrib import admin # Register you ...
- rss订阅
其实,本质上和爬虫没区别,只不过这是人家主动给你数据,而且是编排好格式后的数据 按个人主页url更新内容 去重,按照redis去重的方式 按时间保存内容 mysql 保存为时间格式(可以根据时间比较大 ...
- Vue.js 创建第一个应用
VUE官网下载Vue.js文件或者用Vue的CDN地址 在项目中引入Vue.js文件 代码: <!doctype html> <html lang="en"> ...
- QDialog 设置成圆角
void paintEvent(QPaintEvent *event) { Q_UNUSED(event); QBitmap bmp(this->size()); bmp.fill(); QPa ...
- C++ TCP客户端网络消息发送接收同步实现
废话不多说, 直入主题, 我们在写客户单的时候希望在哪里发消息出去,然后在哪里返回消息(同步), 然后继续往下运行-, 而不是在这里发送了一个消息给服务端, 在另一个地方接受消息(异步) , 也不知道 ...
- C# 原子操作理解
C#内置提供的原子操作 Interlocked.Increment:以原子操作的形式递增指定变量的值并存储结果. Interlocked.Decrement:以原子操作的形式递减指定变量的值并存储结果 ...