MySQL增删改查基础知识
前几天学习了MySQL数据库的一些基础知识,了解了后台数据库的一些基础的数据操作:增删改查,对于项目前后台的数据传递有了些概念,总结了一些MySQL的基础语法。
一、数据存储形式发展和数据库作用
根据时间先后:层次模型,网状模型,传统层次模型,和关系模型。
数据库作用:1.存储大量数据,访问和检索数据;2.保证数据的完整性;3.安全与共享;4.数据可以进行组合,产生新的数据
二、关系模型
关系模型是实体,和联系组成的关系网,所谓实体就是指现实世界中客观存在并可相互区别的实物。实体具有属性,属性用于描述实体。以关系模型创建的数据库称为关系型数据库(relational database)。表是关系型数据库的核心单元,他是数据存储的地方。
三、结构化查询语言SQL
SQL是一种用于管理关系型数据库,与数据库中的数据进行通讯的计算机标准语言
分为:1.数据定义语言(DDL)
2.数据查询语言(DQL)
3.数据操作语言(DML)
4.数据控制语言(DCL)
四、增加
创建数据库:
create database 数据库名
使用数据库
use 数据库名
删除数据库
DROP DATABASE 数据库名
创建表格
create table student(表名){ stuNum int primary key auto_increment,-- 数据类型,主键,自增 stuName varchar(20), --数据类型 sex char(2) default “男”, --数据类型,默认值 card char(18) unique not null, --数据类型,唯一,不为空 s_c_id int references t_class(c_id), --数据类型,外键 constraint foreign key(s_c_id) references t_class(c_id) --外键约束 }
添加表格列
alter table 表名 add 列名 列名数据类型 列约束
删除表格列
alter table 表名 drop column 列名
五、DML语句更改数据
添加数据
insert into 表名(字段) values(字段对应的值)
修改数据
update 表名 set 列=新值 where 条件
六、DQL语句查询数据‘
’查询
select * from 表名 where 条件
去重
select distinct 列名 from 表名 where 条件
模糊查询
select * from 表名 where name like ‘李%’ //0个或多个字符
select * from 表名 where name in(‘’啊’,方,’哈’’)
Select * from 表名 where email is null //查询是否为null
排序
Select 列名 from 表名 where 条件 order by 列名 ASC// asc 升序 desc 降序
分组
Select 列字段 from 表名 group by 列字段
七、子查询
select子查询:要求返回单行 和单列 相关
select * (select name1 from goods2 where name1=goods.name)as name1 from 表名
from 子查询:返回多行多列 表结构 非相关
Select * from (select * from goods limit 10)as t where 条件
where 子查询: 返回多行单列
Select * from student where ID in (select gid from ggg where name in (‘1’“2”))
八、表连接
1.Select * from 表1 join 表2 on 表1.ID=表2.ID 内连接:两个表都存在的数据 2.Select * from 表1,表2 where 表1.ID=表2.ID 内连接另一种写法 3.Select * from 表1 left outer join 表2 on 表1.ID=表2.ID 左外链接 4.Select * from 表1 right outer join 表2 on 表1.ID=表2.ID 右外链接 5.Select * from 表1 as 1 join 表1 as 2 on 条件 自连接
你有小脑斧么