mysql基础

create database if not exists website
创建一个数据库

在xds这个表里面添加一个字段,teacher,然后是属性
alter table xds ADD teacher int(11) 
在xds这个表里面修改一个字段,teacher,然后是属性(修改的是约束)
alter table xds modify teacher varchar(11) 
在xds这个表里面修改一个名字,teacher,然后是属性(修改的是名字)
将teacher变为xgg
alter table xds change teacher  xgg varchar(11) 
删除表的某一行
alter table xds drop xgg
删除表
drop table xds

老版的与现有的版本区别

myisam
:支持全文索引
较小
innodb
:不支持全文索引
安全,支持多表操作
支持事务处理
较大

外键

创建外键的书写
,同样是修改,在新增的上面增加了
constraint 是约束条件,在st这张表,加到gd这张表,引用
哪张表的字段
alter table st add 
constraint `Fk_stgd` foreign key(`stgd`) 
references `gd`(`gdid`)

这个是物理外键,不容易删除,所以是不建议使用的
数据库是单纯的数据,行和列
用程序去实现

插入语句

插入语句,
表明,某一列,值
如果是多个的话用逗号隔开
insert into `st`(`stname`) value('熊大帅')
insert into `st`(`stname`,`stgd`) value('1','1')

插入

带有条件的修改,如果不带条件的话会将全部修改掉,建议run
表明,某一列,条件多个的话,逗号,
update `st` set `stname` = 'xds' where stid = 1
update `st` set `stname` = 'xds', `stgd` = 2
 where stid = 1

删除

相同点:都能删除数据不会删除表的结构
delete
他的删除语句,清空某张表的话是不需要where查询语句的
delete from st where stid = 2
当进行插入的时候,会发现这个表的id属性会依然自增
不会有所改变,变为stid = 3
insert into `st`(`stname`) value('dasdsa') 
但delete后重启数据库后会依然从id=1开始
所以是断电即开始,存储到内存钟就是

不会影响自增列
truncate
不影响事务,清空自增列

查询,important,核心

select
查询这张表的所有信息
select * from st
查询这张表的某一列
select stname from st
为这张表的表头起一个别名
select stname as 学生姓名 from st
给这张表里面添加一些数字
select concat('熊猫:',stname) as 学生姓名 from st
查询当前的版本
select version() 

去重distict

distict
从stgd这张表里面选中内容,去掉重复的元素
重复的数据只显示一条
select distinct `gdid` from stgd

模糊查询

is null
is not null 
between如果a在这个区间则为真
like 如果a匹配b,则为真
in 如果a在里面,则为真
      %  这 个是在like里面使用的
查询这个字段当中带x的所有字符,
注意这个是以x开头的
select stname from st where stname like 'x%'
查询这个字段当中带x的一个字符,
两个字符的话x_ _,
select stname from st where stname like 'x_'
查询名字中带有这x这个字的所有名字
select stname from st where stname like '%x%'
in的话是查询具体的值
select stname from st where stid in(1)

多表联查

将st表和gd表,通过右连接拼接起来
如果有相同的话就需要指定是哪张表的s.stname
这样指定,不然会出现木棱两可的
select stname,stage,gdname 
from st s right join gd g on s.stgd = g.gdid
如果是left join 的话会出现左边为空的也会查出来,,
但right join 就不会出现这中情况

连接查询,传统
还有子查询
是从里面到外面开始查,
where子查询更快,不涉及到连表,只是单纯的查询、

这张就是使用left join
在这里插入图片描述
这张就是right join
在这里插入图片描述

分页和排序

where
group by 
having
order by
limit
这些顺序是不能写错的
分页limit    排序 orderby
order by 名字(字段) desc降序/asc升序


分页
0代表起始的大小,后面的5代表的是页数大小
limit 0,5

聚合函数

count
看是不是主键,count(列名)要更快
count(列名)   会忽略掉null值
count(*)    不会忽略
count(1)     不会忽略  将所有的列变为1
sum
avg 平均分
max
min

ACID

原子性,

要么同时发生,要么同时取消

一致性,

事务最终形态是一值得

隔离性,

多个用户操作,每个事务隔离的

持久性

就是之前如果发生,就发生了,不会变
如果之前没有变,就恢复回原状态
脏读
不可重复读
幻读(虚度)
隔离失败后的
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值