数据库:Mysql navicat
把数据以表的形式存储起来,方便查询
当前主要使用的两种类型的的数据库:关系型数据库,非关系型的数据库
主要学习关系型数据库(RDBMS),是建立在关系模型基础上的数据库。借助于集合代数数学概念和方法来处理数据库中的问题。
RDBMS
核心是以二维表存储数据
行:一条记录,一个事物的信息
列:字段,一个事物的某一个属性
一个表中的所有行是一类事物的集合
一个数据库由很多个表组成
SQL(结构化查询语言)
不区分大小写,重点是查询
MySQL(关系型数据库管理系统):由瑞典公司开发,现在属于Oracle旗下产品
特点:
支持多线程,充分利用CPU资源
支持多种操作系统
开源免费,支持多平台,适用范围广
为多种编程提供了API
navicat操作
连接数据库 用户名 密码 端口号 ip
创建数据库 创建表 添加字段 设计表
增加,修改,删除,查询
数据类型
整数:int,有符号范围(-2147483648~2147483647),无符号范围(0~4294967295),长度没有作用。
小数:decimal,如decimal(5,2)表示共存5位数,小数占2位,整数占3位。
字符串:varchar,范围(0~65533),如varchar(3)表示最多存3个字符,一个中文或者一个字母或者符号都占一个字符。
约束
主键(primary key):物理上存储的顺序
非空(not null):此字段不允许填写空值
唯一(unique):此字段的值不允许重复
默认值(default):不填写此值时会使用默认值,填写时会以填写时的为准
外键(foreign key):维护两个表之间的关联关系
创建表
create table 表名(
字段 变量类型 约束
)
create table students(
id int unsigned primary key auto_increment(设置主键),
name varchar(10),
age int unsigned(表示无符号),
height decimal(5,2)
)(除了最后一个字段都要使用逗号)
删除表
方法一:drop table 表名
方法二:drop table if exists 表名(不存在时不会报错)
插入数据
每个字段都插入值:insert into 表名 values()(有多少个字段就有几个值,主键可以写0或default)
插入部分字段的值insert into 表名(字段) value()(给指定的字段设置值,一个字段可以设置多个值)
修改数据
update 表名 set age=19 where id=5
删除数据:
delete from 表名 where id=5
逻辑删除:有些数据不能真正删除就需要用逻辑删除。在表中用update语句增加一个字段isdelete,可以设置没有被删除时值为0,被删除时将值改为1,在查询数据时加上限制条件即可。
查询数据
select * from 表名(查询表的全部)