随笔分类 - MySQL
摘要:概述 MySQL有很多种数据类型,最常用的就是int,char,varchar,这些类型在创建表的时候都可以指定该字段的宽度,方法是在类型后面加一个括号,括号中写宽度就可以了。 但是,在指定宽度之后,有时候,我们可以看到插入的数据有一些被截断了;有一些并没有截断,而是四舍五入了,甚至什么操作都没有,
阅读全文
摘要:其实就是一个很简单的套路,和其他语言差不多,首先连接数据库,然后在进行其他操作。 套路如下: 注意上面的代码中,最最重要的就是一个 -e 参数,功能就是让shell在cli方式下执行SQL语句。 上面是最简单模板,复杂一点的话,可以配合switch case来根据传递的参数来执行不同的SQL语句,完
阅读全文
摘要:总结: 尽量使用 <=>、is null 、is not null 对NULL进行判断,否则得到的结果都是NULL; NULL进行与和非运算时,结果都是null,然后NULL和一个值为true的值取或,结果为1,否则结果都为NULL; 上面的总结比较混乱,因为NULL可以理解为一个变量的值是未知的,
阅读全文
摘要:顺序很重要 每次看数据库的一些语法时,都很自然的略过那一大堆的规则,比如说线下面这段select的语法: select [field1,field2...] func_namefrom table1,table2,view1[left|right join table2 on condition_w
阅读全文
摘要:假设需求是这样的: 假设user表中,有id和name两个字段,现在需要查询user表中所有数据,并增加一个字段(is_person),判断该记录所描述的是不是一个人? 别去钻牛角尖,很明显,is_person的值始终为true,那么在查询的时候,就可以在返回结果中新增一个字段is_person,并
阅读全文
摘要:安装必需的工具 比如cmake、gcc、g++、git CentOS使用下面的命令: Ubuntu使用下面的命令: 或者 安装ncurses CentOS使用下面的命令: Ubuntu使用下面的命令: 安装openssl和libssl_dev CentOS使用下面的命令: Ubuntu使用下面的命令
阅读全文
摘要:消息队列常用在流量削峰(秒杀场景),异步通信等地方。 大体的结构如下: 类似于消费者和生产者的关系,首先生产者在消息队列未满的时候,才将生产的产品放进消息队列中;消费者在消息队列不为空的时候,才从消息队列中取出产品进行消费。出队的那个步骤常用的方法是一直轮询和定时操作。 这里举一个外卖送餐的案例:
阅读全文
摘要:相同点 都能删除表中的全部数据; 不同点 1.truncate是DDL,delete是DML命令,所以truncate命令更准确的说是修改表的定义(属性); 2.truncate不支持事务回滚,而delete支持事务回滚; 3.如果表的主键是自增的,那么使用truncate清空表后会初始化自增属性(
阅读全文
摘要:几个概念 在说范式之前,要先了解几个概念: 关系模式 关系模式的5要素:R(U,D,DOM,F) 用下面这个category表来理解上面这个式子 1、R-关系,可以理解为student表名。 2、U-属性组,可以理解为student表中所有字段组成的一个集合。 3、D-域,可以理解为student表
阅读全文
摘要:常量 数值 字符串:单引号或者双引号括起来。包括普通字符串或者日期格式的字符串。 布尔值:false(FALSE)对应数字值为0、true(TRUE)对应数字值为1。 NULL:可以参考http://www.cnblogs.com/-beyond/p/8554483.html 变量 定义用户变量 m
阅读全文
摘要:一次插入单条数据 insert into demo values (1,"aaa",0); 使用这种格式时,字段和值要一一对应,不可缺任意一项,即使是自增的主键,也必须指定值。 一次插入多条数据 insert into demo values (1,"aaa",0),(2,"bbb",1),(3,"
阅读全文
摘要:登录数据库服务器 mysql -h127.0.0.1 -uroot -p123456 创建数据库 create database test; 显示所有数据库 show databases; 指定要操作的数据库 use test; 删除库 drop database test; 创建表 create
阅读全文
浙公网安备 33010602011771号