据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作
简单的讲数据库就是讲当量的数据保存起来,通过计算机加工而成的高效访问数据的集合,可以把数据库县城一个房间,里面住满了各种数据。
Oracle:甲骨文公司推出的,主要应用于央企,学校,银行等,特点是使用免费,服务收费。
SQL server:微软推出的一款数据库。
MySQL:市面上最为主流的数据库,并且开源。
PostgerSQL:也是开源的数据库,但是使用较少
Access:微软的古董数据库。
数据库是多种多样的,但是基本的管理语法是相通的
SQL语句:用关键字,表名和列名等组合而成的一条语句。
三种SQL语句种类:
(1)DDL(数据定义语言):创建、修改或删除数据库以及数据库中的表等对象。
(2)DML(数据操作语句):查询或修改表中的记录。
(3)DCL(数据控制语言):确认或取消对数据库中的数据变更的操作,以及对用户的操作,和数据库中的对象权限进行设定。
具体语法
create database 库名; 创建一个数据库。
show databases; 展示所有数据库。
drop database 库名; 删除数据库。
use 库名; 对该数据库内容进行先关操作
create table 表名 (字段名 字段类型) 在数据库下创建表。
主要数据类型:varchar(255) int char float。
show tables; 展示表。
desc table 表名; 查询所有字段及其信息。
drop table 表名; 删除表。
alter table 表名 drop 字段名; 删除字段。
alter table 表名 add 字段名; 增加字段。
alter table 表名 change 老字段 新字段 类型;修改字段。
insert into 表名 (字段,.....) values (插入的数据);插入数据。
select*from 表名; 查询数据。
UPDATE 表名 SET 字段5261='XXX' WHERE 条件; 修改数据。
delete from 表名 where 条件; 删除数据。
字段的一些属性:
主键:相当于人的身份证【不能为空且唯一】用于区分字段。
自增长:auto_increment;
设置编码格式:charset = utf-8
数据不能为空:notNULL。
mySQL:数据库接受16进制(使用ox为标识)。
Order by(排序):
select*form 表名 order by 字段名 (desc);
他一开始默认是正序排序,如果加上desc就是倒叙排序。如果不知道字段名,可以用1来代表第一个字段,2代表第二个字段以此类推。如果字段不存在,就会报错,这也给我们提供了黑盒测试摸清表中字段多少。
Limit n.m(分页):
select*from 表名 limit n.m;
n:是代表从第几行开始。
m:代表输出几行。
模糊输入:
select*from 表名 where 字段名 like ‘%admin%’;
select 9 # 4;
#:代表+、-、/、%;这些逻辑运算符。
NOT(!)代表非,也就是相反的意思。
and(&&)代表与,也就是和的意思,即True&True = True;
or(||)代表或,即ture || false = false
联合查询是可合并多个相似的选择查询的结果集。等同于将一个表追加到另一个表,从而实现将两个表的查询组合到一起,使用谓词为UNION或UNION ALL。
select*from 表名 where .....union select....;
简单来说呢,就是同时查找两个表。
union条件:1.字段数必须相同,且类型必须一致。2.查询结果相同时,只会输出一个,但使用union all 会全部输出。
子查询是一种常用计算机语言SELECT-SQL语言中嵌套查询下层的程序模块。当一个查询是另一个查询的条件时,称之为子查询。
子查询就如同1+2*2=5,(1+2)*2=6;子查询优先执行。
select*from user where username = (select username from admin where id =1)
admin表中id=1的用户是否也在user表中也存在。
group_concat:返回有属于一组列值连接而成结果。
ASCII(*):返回数据类型的ASCII的值。
database():返回当前数据库名。
user()/system_user():返回当前登陆的用户名。
version():返回MySQL服务器版本。
sleep(n):休眠n秒。