导读:数据库中常用到增删改查,具体的应用一些小结,以MySQL为例来说明。
数据库的管理是计算机的重要应用,数据的管理技术经历了这几个阶段:
人工管理阶段
文件管理阶段
数据库管理阶段
什么是数据库?
数据库是组织、存储、管理和加工数据的仓库
数据库是长期存储在计算机内的、有组织的、可共享的数据集合
数据库是数据的聚合
举例
在关系型数据库中,由若干个数据表组成,每个数据表都有很多个行(记录,相当于对象),每个记录都有很多列(字段,相当于对象的属性),表之间可以通过关键字段实现表之间的关系。通过关系,我们可以更灵活的操纵数据库中的数据。
特点:
表中的每一列都不可再分的基本属性
各列被指定为不同的名字
各行不允许重复
列和行次序无关
关系型数据库系统主要有:
Access、FoxPro、SQL Server、MySQL、Oracle......
Access 小型数据库,配置简单、移植方便、但访问率比较低,适合小型网站(如个人网站)。
SQL Server 中型数据库,运行稳定、访问率高、速度快,但配置、移植比较复杂。 利用SQL Server 的导入功能可以将Acess数据库转化为SQL Server 数据库
Oracle 具有伸缩性的大型网站,访问率高。
MySQL是开源的关系型数据库服务软件
官方站点:http://www.mysql.com
MySQL特点:
多进程、多用户
简单易用、查询速度快
基于C/S架构
安全可靠
访问数据库数据表中数据应用SQL(结构化查询语句),常用的:
select 语句 -- 查询数据
insett 语句 -- 添加记录
delete/drop 语句 --删除记录
uodate 语句 --跟新记录
1.select语句 --查询数据
主要的实现数据库的查询,取得满足指定条件的记录集。而选出符合条件的虚拟数据表
语法:
select 字段1名,字段2名 ... from 表(where条件)
例如查询符合条件的记录,并显示所有字段的数据
select * from test where name="admin";
2. 选取符合条件的记录,并只显示指定字段的数据
select name,password from test where name="admin"
select 语句示例:
选取符合和条件的记录,并显示所有字段的数据
select * from user where tel="565645123"
2. 只选取符合条件的前n条数据
select top 1 real_name,email from user where tel = "1234567"
select real_name,email from user where tel = "1234567" limit 0, 1
(limit子句可以被用于强制SELECT语句返回指定的记录数。limit接收一个或两个参数,参数必须是整型,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始化记录行的偏移量是0不是1)
运算符:
主要有四大类:算术运算符、比较运算符、逻辑运算符、位操作运算符
where表达式运算符的使用示例:
select name,password from test where password>"123";
select name,password from test where password<"123456";
select name,password from test WHERE id>= 2;
select name,password from test where password>="123";
select name,password from test where id between 2 and 5;
select name,password from test where id not between 2 and 5;
select name,password from test where id in("1","3");
select name,password from test where id not in("1","3");
select name,password from test where name is null/not null;
select * from test where name="admin" and password="123";
select * from test where name="admin" or password="123";
select * from test where name is null or name="admin" and password="123";
select name,password from test where password like "%123%";
select 语句的非精确查询:
select * from user where real_name like “%勇%”
经常应用在网页搜索
Select语句的查询结果排序 :
按某一(或多个)字段升序或降序的方式排列记录。
语法为:Order By 字段1 ASC 或者
Order By 字段1 DESC
举例:
select * from user order by id DESC //DESC 降序查询
select * from user order by id ASC //ASC 升序查询
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
SQL UNION 语法
select name,password from test
union
select host,address from test1;
注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL
2. Insert语句——添加记录
在ASP中,我们经常会添加数据到数据库中。这项任务可以由Insert语句实现。
语 法:
范例:
添加一个用户,用户ID为3 用户名为marry 用户密码为 456
insert into user(id,username,password) values(3,”marry”,456)
注 意:
(1)各字段、各字段的值要用逗号分开,并且各字段和其对应的字段值在顺序上要一致。
(2)如果某个字段的值为字符型或备注型,则该字段值两边要加引号;如果为日期/时间型,则该字段值两边要加#号或引号;若为布尔型,则该字段的值为true或false;若为自动编号类型,则不要给该字段赋值
(3)设计数据表时要慎重考虑字段下面几个属性的设置:“default”、“必填字段” 。
如果某字段设置了“default”值,并想在某个新加的记录里把该字段设置为默认值,则该字段值填写Default;
如果某字段“必填字段”设置为“是”,则在某个新加的记录里,该字段必须有值或使用默认值,否则出错。
如果对字段没有进行特殊的设置,则可以把没有值的字段不出现在Insert语句中。
如果该字段是自动编号的,该字段可以不出现在Insert语句中。
3. Delete语句——删除记录
可删除表中无用的记录来维护数据库。
语 法:
Delete from 表 [条件]
范例:
删除 lisi 用户
delete from user where username="lisi";
4. Update语句——更新记录
语 法:
Update 数据表名 set 字段1=字段值1,字段2=字段值2,…… [where 条件]
说 明:
缺省条件则修改所有记录指定的字段值
不缺省条件则修改数据表中符合条件的记录
示 例:
更改用户密码
update user set password=555 where username="wangwu"
Mysql常用函数:
1、 select @@basedir 查询数据库安装路径
2 、select @@datadir 查询数据库所在目录
3 、select version() 查询数据库的版本
4 、select user() 查询当前数据库的使用用户
5 、select database() 当前使用数据库的名字