MySQL笔记

 终端连接他人Mysql:

 

 

表名为zimu,表结构为:

a b ctime

1 2 2019-7-16 09:51:56

4 6 2019-7-16 09:56:24

 

mysql查询过滤重复项:select distinct(a) from table; 

mysql更新某一行:update zimu set a="111" where id="1";

mysql 创建ctime字段时,设置类型为datetime,加上default current_timestamp,这样的话每次创建行数据就会自动加上当前时间,这样的话更新行数据,时间依然为创建数据的时间。

datetime类型字段要更新时间的话,必须严格按照这种时间格式才能修改成功:update zimu2 set ctime="2019-07-18 16:33:09" where id="1";

datetime类型字段更新时间为当前时间:update zimu2 set ctime=now() where id="1";

//获取月份

SELECT * FROM zimu WHERE MONTH(ctime)=7;

//获取年份

SELECT * FROM zimu WHERE YEAR(ctime)=7;

//天数小时与获取年份月份相似.....

 

 

pymysql中:

增删改都需要commit() 

 

 

一对多关系查询,例如students表和classes表:

select students.id, students.name, classes.title from students left join classes on students.classes_id = classes.id;

 

这样写是两个表的id都能拿到:

sql = 'select students.id, students.name, students.classes_id, classes.title from students left join classes on students.classes_id = classes.id order by id;'

 

 

多对多关系建标(相当于一个中间表和需要多对多关联的两张表分别建立一对多关系表):

create table tea_cls(

    -> id int not null primary key auto_increment,

    -> tea_id int not null,

    -> cls_id int not null,

    -> constraint fk_me_tea foreign key(tea_id) references teachers(id),

    -> constraint fk_me_cls foreign key(cls_id) references classes(id)

    -> ) engine=innodb default charset=utf8;

 

多对多关系表查询:

select teachers.id, teachers.name,classes.title from teachers
left join tea_cls on tea_cls.tea_id=teachers.id
left join classes on tea_cls.cls_id=classes.id;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sql一次插入多条数据:

 

 

sql返回的数据类型是字典类型:

 

 

 

 

 

 

涉及到权限管理的话,可以优先考虑基于角色的权限管理

 

 

 

 

 

 

 

 

 

 

数据库扩展知识:

 

 

 

 

建立索引的优缺点:

 

创建索引可以建表的时候创建,也可以后期创建索引

转载于:https://www.cnblogs.com/QimiSun/p/10686907.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值