SQL学习笔记【1】
学习的过程主要参考以上这本书《SQL必知必会》以及一些网络教程,小白们也可以去借阅学习。
了解SQL
SQL(sequel)是
Structured Query Language(结构化查询语言)的缩写。SQL是一种专门用来与数据库沟通的语言。
了解数据
数据就是数值,也就是我们通过观察、实验或计算得出的结果。数据有很多种,最简单的就是数字。数据也可以是文字、图像、声音等。
了解数据库
数据库可视为电子化的文字柜,用来存储数据。
在数据库中:
表是一种结构化的文件,可以用来存储某种特定类型的数据。
关键点:存储在表中的数据是同一种类型的数据或清单。
表由列组成,列存储表中某部分的信息。
行是表中的一个记录,表中经常有一个列或多列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键。
实例操作
准备工作
电脑安装了mysql和navicat
保证mysql服务器已经启动
打开navicat界面,新建一个连接,正常输入用户名和密码登录。再创建一个数据库,取名为bzbh。
下载文件
-- Sams Teach Yourself SQL in 10 Minutes
-- http://forta.com/books/0672336073/
-- Example table population scripts for MySQL
下载教材书中的例表,网址如上。
下载的文件夹中有create.txt和populate.txt文件。
打开命令列界面
命令列界面在navicat的工具菜单栏下面。
连接数据库,使用命令use bzbh;
mysql> use bzbh; Database change
在数据库中创建表
将create.txt和populate.txt文件中的内容先后复制到命令列界面。
用命令语句查看一下创建成功的表结构
语句:desc 表名;
或者双击点开左侧栏的表:
检索数据
检索单列
输入:
select prod_nameFrom Products;
结果:
分析:
上述语句通过select语句从Prouducts表中检索名为prod_name的列。所需的列名写在 select后,从哪个表检索的关键字写在FROM后。
返回的数据没有特定的顺序。
检索多个列
输入:
select prod_name,prod_id,vend_idFrom Products;
结果:
分析:
在选择多个列时,一定要在列名之间加上逗号,最后一个列名后不要加逗号。
检索所有的列
输入:
select *From Products;
检索不同的值
通过上述步骤,可以知道vend_id列有很多重复的值,可以使用distinct关键字,指示数据库返回不同的值。
输入:
select distinct vend_idfrom Products;
结果:
提示:
SQL语句不区分大小写,select和SELECT相同
不能部分使用distinct,该关键字作用于所有的列,不仅仅是跟在其后的那一列。
限制结果
输入:
select vend_idfrom Products limit 5;
输出:
分析:
如果只想返回一定数量的行,各种数据库中的SQL语句不同,在MySQL中,使用limit子句。limit 5指示MySQL返回不超过5行的数据。
输入:
select vend_idfrom Products limit 5 offset 2;
输出:
分析:
limit 5 offset 2
第一个数字是检索的行数,第二个数字是指从哪儿开始。
注意第一个被检索的行是第0行,而不是第1行,因此limit 1 offset 1会检索第2行,而不是第1行。
简化版的limit 5 offset 2,是limit 2,5,逗号之前的值对应offset,逗号之后的值对应limit。
使用注释
注释使用两个连字符--嵌在行内,--之后的文本就是注释,或者在前面加#或者注释从/*开始,到*/结束。
select vend_id --注释from Products limit 5 offset 2;#这是注释/*注释*/
- Link to sql 学习 笔记
- Hibernate学习笔记 -- day10 OID、对象导航查询、原生SQL
- PL/SQL学习笔记-常用函数
- PL/SQL学习笔记-约束
- SQL 学习笔记第一章
- 数据库技术与应用 数据操作 MMSQL 学习笔记5
- Mybatis学习笔记-动态SQL与模糊查询
- SQL 学习笔记<三> SELECT之连接查询
- PL/SQL学习笔记[4]-PL/SQL块中使用SQL
- SQL 注入脚本学习笔记
- SQL Server 2005 T-SQL学习笔记:CTE
- sql 必知必会学习笔记(二)
- SQL学习笔记3 通配符 计算字段 函数 汇总
- SQL2005 学习笔记 窗口函数(OVER)【转】
- Mybatis 学习笔记 动态sql语句
- linq to sql 语法 学习笔记(1)
- Oracle Database 11g SQL 开发指南学习笔记:子查询
- Mysql学习笔记(五)数据查询之测试sql部分。
- SQL学习之 对GROUP BY 和 HAVING 的理解 学习笔记
- SQL学习笔记(1)