mysql数据库


数据库优点:

数据库是按照特定的格式存储到文件中,通过SQL语句可以方便的对大量的数据进行增删改查操作,数据库是对大量的信息进行管理的高效的解决方案.

数据的存储的方式:

1.数据保存在内存中优点:内存速度快,确定:断电,程序退出就没有,价格高。

2.数据保存在普通文件优点:永久保存 缺点:查询,增加,删除比较麻烦。

3.数据保存在数据库优点:永久保存,通过SQL语句比较方便操作数据库。

DOS命令

DOS命令方式启动步骤:net stop mysql

控制台连接数据库:登录 mysql -uroot -proot

SQL通用的语法:

DDL:数据定义语言,定义database,table等等

DML:数据操作语言,增,删,改数据。

DQL:数据查询语句,查询数据的。
Select语句:    

Select指定查询那些列的数据.

*号代表查询所有的列.

From指定查询那张表.

DISTINCT可选,指点显示结果,是否剔除重复数据.

where子句:进行过滤查询.

Like语句:%代表零个或多个任意字符_代表一个字符

Order by指定排序的列,Asc升序 Desc降序 这个语句应该位于Select语句结尾.

 

1.单条件查询

运算符有:>, <, >=, <=, =, <>。is null 和 is not null

2.多条件查询

连接符有:and(且), or(或), not(不否定语句)

3.范围查询

between 开始值 and 结束值,包含开始值和结束值。

in(值1,值2)

4.模糊查询

语法:like '表达式' 在表达式里可以写

_: 一个任意字符。

%: 任意个任意字符。“%鲁%”查询包含鲁字的姓名

5.排序查询

语法:order by 排序字段 排序规则,排序字段2

则有:ASC:升序,从小到大 DESC:降:从大到小

6.聚合查询

聚合函数:用于统计的,常用的聚合函数有;

count():统计数量

sum();求和

avg():求平均值

max():求最大值

min():求最小值

注意:所有的聚合函数都会忽略null值

7.分组查询

语法:group by 分组字段 having 分组后的过滤条件

注意:select后边,只能跟分组的字段,或者聚合函数

where和having的区别:

where在分组前执行;having在分组后执行。

where过滤原始表的数据;having过滤分组后的数据

where里不要写聚合函数;having里可以写聚合函数。

8.分页查询

语法:limit 起始索引。查询数量



约束

1.主键约束

主键:一张表的唯一标识,原则上:每张表必须有主键,且只能一个主键。

主键约束

null约束

not null 约束

特点:被主键约束的字段,值必须是非空,唯一

语法:primary key

2.唯一约束

效果:唯一约束的字段,值不能重复,但是可以为null

语法:字段名 类型 unique

3.非空约束

效果:非空约束的字段,值不能为null

语法:字段名 类型 not null

4.默认值约束

效果:默认值约束的字段,如果不指定值,取默认值(如果指定null值。值就是null,不取默认值)

语法:字段名 类型 default 默认值

null 空值 not null 非空

5.外键约束

效果:外键约束的字段,必须从指定表的主键中取值。

目的:保证数据的一致性和完整性,避免脏数据。

语法:

1.创建表时设置的外键:【constraint 约束名称】foreign key(主键字段) references 主表(主键)

2.已有表里设置外键:alter table 表名称 add [constraing 约束名称]foreign key(外键字段)references 主表(主键)

表关系

1.一对一关系

2.一对多

3.多对多

备份和恢复(了解)

备份(dos命令):musqldump -u用户名 -p密码 数据库名称>E:\lu.sql

恢复(sql语句):

登录Mysql

如果库不存在,就创建库;

使用库

执行SQL:source E:\lu.sql

多表查询

1.多表查询技巧:确定表,确定表之间的关联的条件,从关联条件中得到结果,进行筛选。统计,计算想要的结果。

2.内连接查询:查询必定有关联的数据。

3.外连接查询:查询一张表的全部数据,及另一张表的关联的数据。

4.子查询:查询的技巧,没有固定的语法。



笛卡尔积现象

内连接

内链接的查询的效果:查询两张表之间必定有关联的数据

显示内链接:

    select 字段 from 表1 inner join 表2 on 关联套 件 where 条件

隐示内链接:

select 字段 from 表一,表二 where 关联条件 and 条件

外连接

左外连接

    查询左边的全部数据,以及右边的关联的数据

    select 字段 from 表一 left join 表二 on 关联条件 where 条件

右外连接

    查询右边的全部数据,以及左表的关联数据

    select 字段 from 表一 right join 表二 on 表关联条件 where 条件

子查询

 是一种查询的技巧,没有固定的语法,查询嵌套.

子查询结果是一行一列:一个值

子查询结果是多行一列:一个集合

子查询结果是多行多列:一张虚拟表

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星、祭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值