1. `sql语句新增字段`:
~~~
ALTER table TABLE_NAME(表名) ADD CULUMN `field(字段)` 数据类型 是否无符号 是否为空 是否设置默认值;
~~~
2. 删除字段`sql`语句:
~~~
ALTER TABLE TABLE_NAME DROP COLUMN COLUMN_NAME
~~~
3. 修改字段`sql`语句
~~~
alter table TABLE_NAME modify column COLUMN_NAME varchar(20) COMMENT '注释';
~~~
4. 使用`DISTINCT`规避重复的数据
~~~
SELECT
DISTINCT
c.`name`,
cc.`name` AS class_name,
c.`id`,
c.`cid`
FROM
sycms_question AS q
RIGHT JOIN sycms_course AS c ON q.cid = c.id
LEFT JOIN sycms_course_class AS cc ON c.cid = cc.id
WHERE
`cc`.`id` = 63
ORDER BY
c.id DESC
GROUP BY
c.`name`
LIMIT 0,5
~~~
5. 或者使用`group by`进行去重
6. 获取一个表内2个字段相同的数据
~~~
SELECT
`id`,
`status`,
`quantity`,
`take_count`
FROM
dline_coupon AS a
WHERE
EXISTS ( SELECT quantity, take_count FROM dline_coupon WHERE quantity = a.take_count GROUP BY quantity HAVING count( * ) > 1 )
~~~
7. 开放数据库访问权限
~~~
开放远程连接权限:grant [权限] on [database.table] to [用户名]@[IP] identified by [密码];
刷新权限:flush privileges;
~~~
例子:
~~~
grant all privileges on test.* to user@'%' identified by '1234';
~~~
意思是,test数据库的所有表对任意IP地址的user用户开放所有权限,登陆密码是1234。
8. 当`MySQL`的自增id用完了怎么办?
在`MySQL`中,`Int`整型的范围如下:
| 类型 | 最小值 | 最大值 | 存储大小 |
| --- | --- | --- | --- |
| Int 有符号 | \-2147483648 | 2148483648 | 4 bytes |
| Int 无符号 | 0 | 4294967295 | 4 bytes |
以无符号整型为例,约43亿,一旦达到最大值,此时数据继续插入会报一个逐渐冲突异常如下所示
> Duplicate entry '4294967295' for key 'PRIMARY'
解决方案就是把`Int`类型改为`BigInt`类型,它的范围如下
| 类型 | 最小值 | 最大值 | 存储大小 |
| --- | --- | --- | --- |
| BigInt 有符号 | \-9223372036854775808 | 923372036854775808 | 8 bytes |
| BigInt 无符号 | 0 | 18446744073709551615 | 8 bytes |
更好的回答是
> 进行分库分表
9. 线上如何修改列的数据类型
~~~
ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
~~~
不保险还是用第三方工具进行修改表结构
- PHP获取客户端浏览器信息和版本
- PHP获取客户端操作系统信息
- 无限级分类
- git使用
- 权限检测思路
- Vue学习
- 遇到的一些问题
- PHP的编码思维和技巧
- mysql复习
- tp5
- ThinkPHP5.x 公共函数
- TP5登录注册
- TP5使用模板继承
- ThinkPHP5.1 清除缓存
- thinkphp5实现安装程序
- 安全
- tp中实现跨域代码
- ThinkPHP5.1配合pjax实现菜单栏无刷新跳转
- 获取数据库版本和数据库大小
- 模型的基本CURD操作
- 商品spu
- 全局异常处理类
- ExceptionHandler
- BaseException
- PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
- 微信小程序
- wx:for
- tp6
- 分离的一些模块
- session开启
- Spring
- 依赖注入
- 数据结构
- 二叉树
- js获取地址栏变量
- PHP设计模式
- 面向对象
- PHP1
- PHP性能优化
- Java学习
- static关键字
- 多态
- 接口、阶乘
- 大佬给的面试题
- 访问量为5000万的博客系统设计
- PHP可变参数
- Nginx的配置案例
- 求数组中的最大值,并返回数组索引
- PHP面试方向
- PHP数组工具类ArrUtil
- 字符串工具类StrUtil
- PHP使用curl发送请求
- mysql
- PHP上传base64图片处理函数
- webstorm小程序常用配置
- 邮箱正则表达式
- leetcode mysql记录
- 函数库