数据库
1.1 概念
数据库:db、datebase,存储数据的仓库,以文件形式存储数据。
DBMS:Datebase Manager System
常见的数据库:
1、MySQL:免费的中小型数据库,Oracle公司
2、Oracle:收费的大型数据库,Oracle
3、SQL Server:微软的大型的收费的数据库
4、SQLite::移动端的嵌入式的小型数据库
数据库的分类:
1、关系型(MySQL\Oracle)
* 优点:通用的SQL语句、易于理解
* 缺点:大量数据的读写为保证一致性会导致性能降低
2、非关系型(MongDB、Redis)
*优点:读写性能较好,易于扩展
*缺点:学习、使用成本较高
1.2 数据库的结构
类 表
属性 字段、列
对象 记录
1.3语法
1、一条执行语句可以分为单行或多行书写
2、语句用分号结尾
3、不区分大小写,但是关键字建议用大写
4、注释:
* 单行注释:–注释内容 或者 # 注释内容(MySQL 特有)
* 多行注释:/* 注释 */
1.4 SQL语言
SQL:结构化查询语言(Structured Query Language)
分类:
1、DDL:数据定义语言
对库、表进行定义,删除
create、drop、alter
2、DML:数据操作语言
对记录进行增、删、改
insert、update、delete
3、DQL:数据查询语言
对记录进行查询
select、where、in、on、limit、having、order by、group by、desc、asc、like、
4、DCL:数据访问语言
对数据库设置安全级别和访问权限
revoke
CRUD: create retrieve update delete
二、库的操作
2.1 数据库的创建
直接创建:
create database 库名;
创建同时设置库的编码:
create database 库名 character set 编码;
先判断数据库是否已存在,不存在才创建:
create database if not exists 库名;
2.2 数据库的查看
查看管理系统中有那些数据库
show databases;
查看数据库创建的语句
show create database 库名;
2.3 数据库的删除
直接删除:
drop database 库名;
先判断数据库是否存在,存在才删除:
drop database if exists 库名;
2.4 数据库的修改
修改数据库的编码格式:
alter database 库名 character set 编码;
2.5 其他操作
明确要使用的数据库:
use 库名;
三.表的操作
3.1 创建表
create table 表名(字段名1 类型 [约束],字段2 类型 [约束],字段3 类型 [约束],...);
类型:
1、int
2、double
3、varchar(n)
4、date:yyyy-MM--dd HH:mm:ss
6、timestamp:时间戳,yyyy-MM--dd HH:mm:ss,如果timestamp没有设置,那么这个值就i是添加此记录的时间
3.2删除表
直接删除:
drop table 表名;
先判断表是否存在,存在才删除:
drop table if exists 表名;
3.3 查看表
查看当前库中的所有表:
show tables;
查看指定表的表结构:
desc 表名;
3.4 修改表结构
修改表名:
alter table 表名 rename to 新表名;
添加一列(字段):
alter table 表名 add 字段名 类型 [约束];
修改字段名:
alter table 表名 change 旧字段名 新字段名 类型 [约束];
修改列:
alter table 表名 modify 列名 类型 [约束];
删除列:
alter table 表名 drop 列名;
3.5 其他操作
复制表结构:
create table 表名 like 被复制的表名;
四.记录的操作
3.1 添加记录
向记录中的所有字段添加值:
insert into 表名 values(值1,值2,值...);
向记录中的指定字段添加值:
insert into(字段1,字段2,...) values(值1,值2,...);
4.2 修改记录
修改所有记录的指定字段值:
update 表名 set 字段名 = 值1,字段名2=值2,...;
修改指定记录的指定字段值:
update 表名 set 字段1 = 值1,字段2 = 值2,...where 条件;
4.3 删除记录
删除指定记录:
delete from 表名 where 条件;
删除所有记录:
delete from 表名;逐条删除表中记录,性能较差,不推荐使用。
truncate table 表名;一次性删除整张表,性能较好,推荐使用。当再次使用该表时,该表会根据原始状态重新构建一张新表。
4.4 查询记录
查询所有记录的所有字段信息:
select * from 表名;
查询所有记录的指定字段信息:
select 字段1,字段2,...from 表名;
查询指定记录的所有字段信息:
select * from 表名 where 条件;
查询指定记录的指定字段信息:
select 字段1,字段2,...from 表名 where 条件;