一、【数据库】
1、关系型数据库
大型:Oracle、DB2
中型:SQL Server、MySQL
小型:Access、SQLite等
2、非关系型数据库:
Memcached、MongoDB、Redis
3、两种数据库阵营的区别
(1)关系型数据库:安全(保存磁盘,基本不可能丢失),容易理解,比较浪费空间(二维表)
(2)非关系型数据库:效率高,不安全(断电丢失)
4、什么是关系型数据库
是一种建立在关系模型(数学模型)上的数据库
关系模型:一种所谓建立在关系上的模型
关系模型包含三个方面:
数据结构:用于解决数据存储的问题,二维表(有行和列)
操作指令集合:所有SQL语句
完整性约束:表内数据约束(字段与字段)、表与表之间约束(外键)
二、【MySQL】
-- 查看所有数据库
show databases;
-- 连接认证
mysql -u root -p
-- 退出命令
exit、quit、\q
-- 创建数据库
create database mydatabase charset utf8;
-- 创建关键字数据库
create database `database` charset utf8;
-- 告诉服务器当前中文的字符集是什么
set names gbk;
-- 创建中文数据库
create database 中国 charset utf8;
-- 创建数据库
create database informationtest charset utf8;
-- 查看以inforation_开始的数据库(_需要被转义)
show databaseslike 'information\_%';
show databaseslike 'information_%';-- 相当于information%
-- 查看书数据库的创建语句
showcreate database mydatabase;
showcreate database `database`;
-- 修改数据库inforationest的字符集
alter database informationtest charset GBK;
-- 删除数据库
drop database 数据库的名字;
-- 创建表
create table ifnot exists mydatabase.student(
-- 显示的将student表放到mydatabase数据库下
namevarchar(10),
gendervarchar(10),
numbervarchar(10),
ageint
)charset utf8;
-- 创建数据表
-- 进入数据库
use mydatabase;
-- 创建表
create table class(
namevarchar(10),
roomvarchar(10)
)charset utf8;
-- 查看所有表
show tables;
-- 查看部分表
-- 查看以s结尾的表
show tableslike '%s';
-- 查看表的创建语句
showcreate table student;
showcreate table student\g
showcreate table student\G-- 将查到的结构旋转90度
-- 查看表结构
desc class;
describe class;
show columnsfrom class;
-- 重命名表(student表—> my_student)
renametable studentto my_student;
-- 修改表选项:字符集
alter table my_student charset = GBK;
-- 给学生表增加ID,放到第一个位置
alter table my_studentadd column idint first;
-- 将学生表中的number学号字段标出固定长度,且放到第二位(id之后)
alter table my_student modify numberchar(10) after id;
-- 修改学生表中的gender字段为sex
alter table my_student change gender sexvarchar(10);
-- 删除学生表达中的age年龄字段
alter table my_studentdrop age;
-- 插入数据
insert into my_studentvalue
(1,'bc20190001','jim','male'),
(2,'bc20190001','lili','female')
;
-- 插入数据:制定字段列表
insert into my_student(number,name,sex,id)values
('bc20190001','tom','male',3),
('bc20190001','zhong','male',4);
-- 查看所有数据
select *from my_student;
-- 查看指定字段、指定条件的数据
select id,number,sex,namefrom my_studentwhere id =1;
-- 更新数据
update my_studentset sex='female' where name ='jim';
-- 删除数据
delete from my_studentwhere sex='male';