关系数据库:MySQL,Oracle
非关系数据库:NoSQL,MongoDB,CouchDB
大致区分为三个概括层次:内层,概念层和外层。
事务(transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么不做,是一个不可分割的工作单位。事务的ACID特性:
事务的并发性是指多个事务的并行操作轮流交叉运行,事务的并发可能会访问和存储 不正确的数据,破坏交易的隔离性和数据库的一致性。
网状数据模型的数据结构 网状模型 满足下面两个条件的基本层次联系的集合为网状模型:
mac:~ lyt$ mysql -uroot -p123456
mysql> shoa databases;
未选中数据库报错:No database selected
退出服务器命令:mysql> exit;
在服务器中创建数据库:create database 数据库名pet;
选中服务器:use 数据库名;
查看数据库中所有的数据表:show table;
创建数据表:CREATE TABLE 数据表名 (name VARCHAR(20),species VARCHAR(20), sex CHAR(1), birth DATE, death DATE) {注:=>数据字段 数据类型}
查看数据表是否创建成功:show tables;
查看创建好的数据表的结构:describe 数据库名pet;
查看数据表中的记录:select * from 数据库名per;
往数据表中添加数据:mysql> INSERT INTO 数据库名pet;-> VALUE ('hello','2000-12-13',NULL);
再此查询数据表:select * fron 数据库名pet;
再次插入数据表:
INSERT INTO pet
VALUES('name01','owner01','species01','boy','birtf',NULL);
MySQl支持多种类型,大致分为三类:数值,日期/时间和字符串类型。
数值类型:
日期和时间类型:
字符串类型:
日期选择按照格式
数值和字符串按照大小
删除name01数据:delete from 数据库名pet where name='name01';
修改name01为name02:update 数据库名pet set name='name02' where owner='owner01'
能够唯一确定一张表中的一条记录,也就是通过给某个字段添加约束就可以是的该字段不重复且不为空。
create table user( 创建user表
id int primary key, 创建主键为id的user表
name varchar(20)
);
insert into user values(1,'张三')
Dup;icate enter '1'for key 'PRIMARY'
insert into user values(NULL,'张三')
Column 'id' cannot br null
只要联合组件加起来不重复就可以,每个字段都不能为空
create table user2(
id int,
name varchar(20),
password narchar(20),
parimary key(id,name) id和name为联合主键
)
insert into user2 values(1,'张三','123')
insert into user2 values(2,'张三','123')
create table user3(
id int primary key auto_incerment, 主键为auto_incerment
name varchar(20)
);
insert into user3 (name) values ('张三') 插入name为张三的字段
select* from user3; 查询输出:id:1,name:张三
insert into user3 (name) values ('张三') 再次插入name为张三的字段select* from user3; 查询输出:id:2,name:张三
create table user4(
id int, 没有创建主键
name varchar(20)
);
修改表结构,添加主键元素:alter table user4 add primarykey(id);
修改表结构,删除主键元素:alter table user4 drop primary key;
室友modify修改字段,添加主键元素:alter table user4 modify id int primary key;
唯一约束:约束修饰的字段的值不可以重复
create table user5(
id init,
name varchar(20)
);
name的key值为UNI:alter table user5 add unique(name)
insert into user5 values(1,'张三')
insert into user5 values(2,'张三')
UIN出现重复报错:Duplicate entery '张三' for key 'name'
create table user5(
id init,
name varchar(20)
);
create table user6(
id init,
name varchar(20) unique
);
create table user7(
id init,
name varchar(20),
unique(name)
);
create table user8(
id init,
name varchar(20),
unique(id,name)
);
desc user8;输出id和name的key值为MUL,多个元素唯一约束时,key为MUL
联合唯一约束组合在一起不重复
insert into user8 values(1,'张三')
insert into user8 values(2,'张三')
4).外键约束
5).非空约束
6).默认约束