导读:数据库中常用到增删改查,具体的应用一些小结,以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语句实现。
语 法:
Insert Into 表(字段1,字段2,……)
values(字段1的值,字段2的值,……)
范例:
添加一个用户,用户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() 当前使用数据库的名字