关系型数据库MySQL(i)

1.1数据库基本概念

定义:数据库是指长期存储在计算机内、有组织的数据集合。表是数据库的基本单位,数据按照分类存储到不同的表中。数据库的通用语法能够帮助工作者有效调用相关数据。

(1)关系型数据库(RDBMS)

关系型数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据;

(2)关系型数据库主要产品

  • Oracle:银行,电信等企业级系统;
  • mysql:web和个人开发常用(社区型);
  • SqlServer:微软系常用数据库;
  • sqlite:轻量级数据库,用于移动平台;

(3)关系型数据库的核心元素

  • 数据行(一条记录)
  • 数据列(字段)
  • 数据表(数据行的集合)
  • 数据库(数据表的集合,一个数据库中能够有 n 多个数据表)

1.2SQL语言

(1)Structured Query Language(SQL)是在数据库中进行操作的语言,称为sql,结构化查询语言,当前关系型数据库都支持使用sql语言进行操作,也就是说可以通过 sql 操作 oracle,sql server,mysql,sqlite 等等所有的关系型的数据库
(2)sql语言主要分为:

  • DQL:数据查询语言,用于对数据进行查询,如select
  • DML:数据操作语言,对数据进行增加、修改、删除,如insert、 udpate、 delete
  • TPL:事务处理语言,对事务进行处理,包括begin transaction、 commit、 rollback
  • DCL:数据控制语言,进行授权与权限回收,如grant、 revoke
  • DDL:数据定义语言,进行数据库、表的管理等,如create、 drop
  • CCL:指针控制语言,通过控制指针完成表的操作,如declare cursor

SQL 是一门特殊的语言,专门用来操作关系数据库,不区分大小写;

1.3MySQL数据表基本操作

(1)创建表

creat table 表名(
    字段名 类型 约束,
    字段名 类型 约束,
    ...
)

例:创建学生表,姓名(长度为10),年龄,身高(保留小数点2位)

creat table student(
    id int unsigned primary key auto_increment,
    name varchar(20),
    age int unsigned,
    height decimal(5,2)
)

(2)删除表

drop table if exists students
或者
drop table 表名

在select后面列前使用distinct可以消除重复的行

select distinct sex from students

(3)增删改查

  • 简单查询
select * from 表名
  • 添加数据
insert into student values(...)
或
insert into 表名(字段1,..) values(值1,..)
或
insert into 表名 values(...),(...),(...)
  • 删除数据
delete from 表名 where 条件
例如:
delete from student where id=6

逻辑删除:对于重要的数据,不能轻易执行delete语句进行删除,一旦删除,数据无法恢复,这时可以进行逻辑删除。
1、给表添加字段,代表数据是否删除,一般起名isdelete, 0代表未删除, 1代表删除,默认值为0
2、当要删除某条数据时,只需要设置这条数据的isdelete字段为1
3、以后在查询数据时,只查询出isdelete为0的数据
例:

1、给学生表添加字段(isdelete),默认值为0,如果表中已经有数据,需要把所有数据的isdelete字段更
新为0
update students set isdelete=0
2、删除id为1的学生
update students set isdelete=1 where id=1
3、查询未删除的数据
select * from students where isdelete=0
  • 修改数据
update 表名 set 列1=值1,列2=值2,...where 条件
例如:
update students set name='A',age=20 where id=2

1.4条件

  • 使用where子句对表中的数据筛选,符号条件的数据会出现在结果集中,语法如下:
select 字段1,字段2... from 表名 where 条件;
例:
select * from students where id=1;

 

  • where后面支持多种运算符,进行条件的处理
  1. 比较运算
  2. 逻辑运算
  3. 模糊查询
  4. 范围查询
  5. 空判断

a) 比较运算符

  • 等于: =
  • 大于: >
  • 大于等于: >=
  • 小于: <
  • 小于等于: <=
  • 不等于: != 或 <>
例1:查询小乔的年龄
select age from students where name='小乔'
例2:查询20岁以下的学生
select * from students where age<20
例3:查询家乡不在北京的学生
select * from students where hometown!='北京'


b) 逻辑运算符

  • and
  • or
  • not
例1:查询年龄小于20的女同学
select * from students where age<20 and sex='女'
例2:查询女学生或'1班'的学生
select * from students where sex='女' or class='1班'
例3:查询非天津的学生
select * from students where not hometown='天津'


c)模糊查询

  • like
  • %表示任意多个任意字符
  • _表示一个任意字符
例1:查询姓孙的学生
select * from students where name like '孙%'
例2:查询姓孙且名字是一个字的学生
select * from students where name like '孙_'
例3:查询叫乔的学生
select * from students where name like '%乔'
例4:查询姓名含白的学生
select * from students where name like '%白%'


d) 范围查询

  • in表示在一个非连续的范围内
例1:查询家乡是北京或上海或广东的学生
select * from students where hometown in('北京','上海','广东')
between ... and ...表示在一个连续的范围内
例2:查询年龄为18至20的学生
select * from students where age between 18 and 20


e)空判断

  • 注意: null与''是不同的
  • 判空is null
  • 判非空is not null
例1:查询没有填写身份证的学生
select * from students where card is null

例2:查询填写了身份证的学生
select * from students where card is not null


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值