韩学敏 2020-02-22
数据库是指长期存储在计算机内、有组织的数据集合。简而言之,数据库就是一个存储数据的地方。表是数据库中存储数据的基本单位,数据按照分类存储到不同的表中,能够非常高效的查询其 中的数据
关系型数据库的主要产品
oracle:在以前的大型项目中使用,银行,电信等项目
mysql:web时代使用最广泛的关系型数据库 ms sql
server:在微软的项目中使用
sqlite:轻量级数据库,主要应用在移动平台
关系型数据库核心元素
数据行(一条记录)
数据列(字段)
数据表(数据行的集合)
数据库(数据表的集合,一个数据库中能够有 n 多个数据表)
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,后来被Sun公司收购, Sun公司后来又被Oracle公司收购,目前属于Oracle旗下产品
特点
为了更加准确的存储数据,保证数据的正确有效,需要合理的使用数据类型和约束来限制数据 的存储。
日期时间: datetime,范围(1000-01-01 00:00:00 ~ 9999-12-31 23:59:59),如‘2020-01-01 12:29:59‘
外键(foreign key):维护两个表之间的关联关系
鼠标左键点击某个数据库下面的查询按钮,然后点击新建查询
在打开的查询编辑器中,输入下面的SQL查询语句select * from students
然后点击运行按钮,既显示查询的结果
Ctrl + /
注释Ctrl + Shift + /
取消注释
create table 表名( 字段名 类型 约束, 字段名 类型 约束 ... )
例:创建学生表,字段要求如下:
姓名(长度为10)
create table students( name varchar(10) )
例:创建学生表,字段要求如下:
姓名(长度为10), 年龄
create table students( name varchar(10), age int unsigned )
例:创建学生表,字段要求如下:
姓名(长度为10), 年龄,身高(保留小数点2位)
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 表名
例:删除学生表drop table students
或 drop table if exists students
select * from 表名
例:查询所有学生数据 select * from students
格式一:所有字段设置值,值的顺序与表中字段的顺序对应
说明:主键列是自动增长,插入时需要占位,通常使用0或者 default 或者 null 来占位,插入 成功后以实际数据为准insert into 表名 values(...)
例:插入一个学生,设置所有字段的信息insert into students values(0,‘亚瑟‘,22,177.56)
格式二:部分字段设置值,值的顺序与给出的字段顺序对应insert into 表名(字段1,...) values(值1,...)
例:插入一个学生,只设置姓名
insert into students(name) values(‘老夫子‘)
方式一:写多条insert语句,语句之间用英文分号隔开insert into students(name) values(‘老夫子2‘); insert into students(name) values(‘老夫子3‘); insert into students values(0,‘亚瑟2‘,23,167.56)
方式二:写一条insert语句,设置多条数据,数据之间用英文逗号隔开
格式一:insert into 表名 values(...),(...)...
例:插入多个学生,设置所有字段的信息 insert into students values(0,‘亚瑟3‘,23,167.56),(0,‘亚瑟4‘,23,167.56)
格式二:insert into 表名(列1,...) values(值1,...),(值1,...)...
例:插入多个学生,只设置姓名insert into students(name) values(‘老夫子5‘),(‘老夫子6‘)
格式:update 表名 set 列1=值1,列2=值2... where 条件
例:修改id为5的学生数据,姓名改为 狄仁杰,年龄改为 20update students set name=‘狄仁杰‘,age=20 where id=5
格式:delete from 表名 where 条件
例:删除id为6的学生数据delete from students where id=6
逻辑删除:对于重要的数据,不能轻易执行delete语句进行删除,一旦删除,数据无法恢复,这时可以进行逻辑删除。
1、给表添加字段,代表数据是否删除,一般起名isdelete,0代表未删除,1代表删除,默认值为0
2、当要删除某条数据时,只需要设置这条数据的isdelete字段为1
3、以后在查询数据时,只查询出isdelete为0的数据
例:
1、给学生表添加字段(isdelete),默认值为0,如果表中已经有数据,需要把所有数据的isdelete字段更新为0update students set isdelete=0
2、删除id为1的学生 update students set isdelete=1 where id=1
3、查询未删除的数据 select * from students where isdelete=0