IN/NOT IN/EXISTS/NOT EXISTS
简单用法 见http://space.itpub.net/12928228/viewspace-439094,其中EXISTS/NOT EXISTS用于取交集和差集。
SELECT DISTINCT pub_name FROM publishers WHERE EXISTS
(SELECT * FROM titles WHERE pub_id = publishers.pub_id AND type ='business');
SELECT pub_name FROM publishers WHERE NOT EXISTS
(SELECT * FROM titles WHERE pub_id = publishers.pub_id AND type ='business');
Oracle 中通过sql trace来分析NOT IN/MINUS/NOT EXISTS的比较 http://space.itpub.net/24862808/viewspace-708947
连接join(LEFT JOIN/RIGHT JOIN/内连接/全连接/自连接/交叉连接)
基本知识参考http://www.cnblogs.com/eflylab/archive/2007/06/25/794278.html
Tip:用连接来代替子查询
tab1 LEFT JOIN tabl2 ON tab1.yy = tab2.zz WHERE
LETT JOIN以其左边的表为基准,RIGHT JOIN以其右边表为基准。
SQL查询的基本原理
第一、 单表查询:根据WHERE条件过滤表中的记录,形成中间表(这个中间表对用户是不可见的);然后根据SELECT的选择列选择相应的列进行返回最终结果。
第二、 两表连接查询:对两表求积(笛卡尔积)并用ON条件和连接连接类型进行过滤形成中间表;然后根据WHERE条件过滤中间表的记录,并根据SELECT指定的列返回查询结果。
第三、 多表连接查询:先对第一个和第二个表按照两表连接做查询,然后用查询结果和第三个表做连接查询,以此类推,直到所有的表都连接上为止,最终形成一个中间的结果表,然后根据WHERE条件过滤中间表的记录,并根据SELECT指定的列返回查询结果。 理解SQL查询的过程是进行SQL优化的理论依据。
子查询与连接查询的区别
索引
非聚集索引和聚集索引
默认是非聚集索引。
对于有大量重复值,且经常有范围查询,order by,group by发生的列,考虑使用聚集索引。
http://database.51cto.com/art/201007/210727.htm
Mysql实现分页
SELECT * from tab LIMIT offset rows;
-------------------------
ubuntu下安装mysql
mysql安装文件 mysql-5.5.25-ubuntu10.04-i686.deb
$ sudo dpkg -i mysql-5.5.25-ubuntu10.04-i686.deb
查找mysql安装目录(-mmin -10最近修改10分钟修改过)
$ sudo find . -path "*mysql*" -mmin -10
发现在/opt
目录下
$ sudo chown -R guxu .
(修改文件所有者)
$ groupadd mysqlgroup
(添加组mygroup)
groupadd: cannot lock /etc/group; try again later.
guxu@guxu-Lenovo-B460:/opt$ sudo groupadd mysqlgroup
$ useradd -g guxu mysqlgroup
(
将guxu用户添加到mygroup组中)
useradd: cannot lock /etc/passwd; try again later.
guxu@guxu-Lenovo-B460:/opt$
sudo useradd -g guxu mysqlgroup
$ scripts/mysql_install_db --user=guxu
(初始化数据库,添加用户名为guxu的用户)
出错如下:
/opt/mysql/server-5.5/bin/mysqld: error while loading shared libraries: libaio.so.1:
cannot open shared object file: No such file or directory
原因是未安装libaio,执行安装
$ sudo apt-get install libaio-dev
$ find /lib -name "*libaio*"
/lib/libaio.so.1
/lib/libaio.so.1.0.1
再次执行下面命令,安装成功,并显示一些有用的信息:
Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/opt/mysql/server-5.5/bin/mysqladmin -u root password 'new-password'
/opt/mysql/server-5.5/bin/mysqladmin -u root -h guxu-Lenovo-B460 password 'new-password'
Alternatively you can run:
/opt/mysql/server-5.5/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd /opt/mysql/server-5.5 ; /opt/mysql/server-5.5/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd /opt/mysql/server-5.5/mysql-test ; perl mysql-test-run.pl
$ cp support-files/my-medium.cnf /etc/mysql/my.cnf
$ cp support-files/mysql.server /etc/init.d/
$ sudo chown -R guxu init.d/mysql.server
(修改所有者)
$ sudo mv init.d/mysql.server init.d/mysql
(重命名,可以执行service mysql stop/start/restart)
未完,继续http://blog.163.com/zjc_8886/blog/static/2408175201107105632955/
分享到:
相关推荐
SQL(Structured Query Language)是用于管理和操作关系数据库的标准语言,其重要性和广泛应用使得掌握SQL数据库知识点成为IT行业的必备技能。本概要将深入探讨SQL的关键概念、语法和常见操作。 一、SQL基础 SQL...
不过,我可以根据标题和描述提供的信息,以及对SQL Server 2008和T-SQL语言基础知识的理解,为您构建一份关于Microsoft SQL Server 2008中T-SQL语言基础知识的知识点概要。 Microsoft SQL Server 2008是微软公司...
### SQL的概要介绍与分析 #### SQL的基本概念与历史沿革 SQL,全称Structured Query Language(结构化查询语言),是一种专为管理关系型数据库系统而设计的标准计算机语言。自20世纪70年代由IBM公司研发以来,SQL...
### SQL知识点总结学习笔记 #### 1. 软件生命周期各阶段与SQL的关系 - **需求分析阶段**:在这一阶段,主要任务是理解客户的需求,包括业务流程、数据处理等方面的需求。对于数据库设计来说,这个阶段非常重要,...
内容涵盖了SQLServer的简介、安装和配置、数据类型、表和索引、查询语言、存储过程和触发器、事务管理、备份和恢复、高可用性、性能优化、监控和维护、社区和支持等高级知识点。 **适用人群:** 本教程适合所有准备...
- **安全性管理**:包括登录与用户管理、权限控制、角色分配、加密技术等方面的知识点,以确保数据的安全性。 ##### 3. 企业级应用开发 - **集成服务(SSIS)**:学习如何使用SSIS进行数据抽取、转换、加载(ETL),这...
### SQL与PL/SQL知识点详解 #### 一、资料库基本概念 - **数据库管理系统(DBMS)**:Oracle数据库管理系统是一种关系型数据库管理系统(RDBMS),它使用SQL作为查询语言,支持多种数据类型、安全性特性以及事务...
由于无法从提供的文件中获取更具体的内容,这里只是对标题和描述中所提及的概念和知识点进行了概要的解释和讨论。实际的SQL语句优化还涉及到更多细节和具体的操作,通常需要根据具体的数据库实例和业务场景来分析和...
### Wrox Professional SQL Server 2005 Integration Services 关键知识点概述 #### 一、书籍基本信息 - **书名**:《Wrox Professional SQL Server 2005 Integration Services》 - **作者**:Brian Knight 等 - **...
13.5.1 oracle中用户、资源、概要文件、模式的概念 269 13.5.2 oracle中的用户管理 269 13.5.3 oracle中的资源管理 274 13.5.4 oracle中的权限管理 277 13.5.5 oracle中的角色管理 278 第14章 完整性控制 281 ...
内容包括但不限于:数据库系统、SQL语言的结构、表的操作、查询基础、数据更新、函数和谓词、复杂查询、集合运算、SQL高级处理等知识点。接下来将详细说明这些知识点。 ### 数据库和SQL - **DBMS(数据库管理系统)...
本报告的重要知识点包括: 1. 数据库设计的方法:包括需求分析、概念结构设计、逻辑结构设计、物理结构设计等步骤。 2. 数据库实施:使用 SQLSERVER 等创建数据库,前端开发使用 JAVA、.NET 等实现。 3. 程序设计与...
根据给定的文件信息,我们可以总结出以下知识点: SQL Server 数据库课程设计 * 题目:图书借阅管理系统的设计与实现 * 院系:计算机信息与技术系 * 学科专业:计算机科学与技术 * 学号:B10060111 * 学生姓名:...
这里提供的知识是基于黄玮编写的《Oracle高性能SQL引擎剖析:Oracle SQL优化与调优技术详解》一书的内容,以及上述文档提供的相关知识点。在实际应用中,可以参考这些内容来优化Oracle数据库中的SQL查询。同时,为了...
在深入探讨《SQL Server2008 Data Profiling揭示SQL Server 2008集成服务中隐藏的宝藏》这篇文章所蕴含的知识点之前,我们需要先了解SQL Server 2008及其数据质量评估工具——数据概要分析(Data Profiling)。SQL ...
### 知识点:PL/SQL操作手册 #### 1. 安装PL/SQL Developer - **系统需求**:了解安装前需要满足的硬件和软件环境。 - **工作站安装**:在单个工作站上安装PL/SQL Developer的过程。 - **基于服务器安装**:在...
### SQL用法大全 SQL(Structured Query Language)是一种用于管理和操作关系数据库的标准计算机语言。...以上是SQL的一些基础与进阶用法,掌握这些知识点能够帮助你在实际工作中更加高效地进行数据处理与分析。
SQL数据库文档是一个面向初学者的学习资源,旨在帮助读者快速掌握SQL数据库的基础知识。本文将深入讲解SQL数据库的设计、创建、管理以及...通过深入理解和实践这些知识点,读者将能够有效地创建、管理和使用SQL数据库。
通过生动的比喻和通俗易懂的语言,读者将能够理解并掌握SQL编程的基本概念、数据结构、文件操作、正则表达式等核心知识点,并了解如何使用Web框架和Gem进行项目开发。 适用人群:本教程特别适合对编程感兴趣的初学者...