修改表barcodes中的gspecml字段默认值为’0’,字段类型varchar
alter table barcodes alter column gspecml set default ‘0’;
修改表barcodes中的gspecml字段默认值为’0’,字段类型varchar
alter table barcodes alter column gspecml set default ‘0’;
操作系统:CentOS
1. 通过向上箭头可以查找历史记录,但是记录太多时比较麻烦(mysql控制台没有类似linux控制台的histroy命令)
2. 向上箭头比较麻烦时可以使用下面这个文件查看sql语句记录
~/.mysql_history
将一、2文件的内容清空即可
在linux命令行里输入以下命令,将不再保存记录
ln -s /dev/null $HOME/.mysql_history
本文运行环境,数据库:Mysql,操作系统:Linux
在命令行中查询sql语句后,一般情况下每行显示一条记录,一条记录有多个列,假如某一列的数据特别长,这种表格的方式就很难查看数据,如果想让所有的列都分行显示,每行显示一列的数据也很简单,就是在sql查询语句的末尾加一个 \G就可以了.
如下:select * from tbldates\G;
显示效果如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
*************************** 1. row *************************** id: 1 ddate: 2016-01-01 created_at: NULL updated_at: NULL *************************** 2. row *************************** id: 2 ddate: 2016-01-02 created_at: NULL updated_at: NULL *************************** 3. row *************************** id: 3 ddate: 2016-01-03 created_at: NULL updated_at: NULL 3 rows in set (0.00 sec) |
本文使用数据库为:Mysql
当我们想使用insert into为一个表的所有字段插入一条数据时,我们可以这样写sql语句
insert into table1 values(‘field’, ‘field2’, ‘field3’);
但是假如第一列的字段是一个自增字段,如下这样就不行了
insert into table1 values(1, ‘field’, ‘field2’, ‘field3’);
第一列的值1,如果已存在值为1的记录,则会报主键已存在的错误,但是如果我们不为第一列赋值的话,如下这样
insert into table1 values(‘field’, ‘field2’, ‘field3’);
又会报列表不匹配的错误,我们可以选择在sql语句中列出所有的列名的办法,如下:
insert into table1 names(field1, field2, field3) values(‘field’, ‘field2’, ‘field3’);
但是对于字段特别多表就很麻烦了
其实对于自增字段我们可以给他传入一个null,这样即不会执行sql语句错误,也可以达到插入新的id的效果,如下:
1 |
insert into table1 values(null, 'field', 'field2', 'field3'); |
1. 查看已创建的触发器
SELECT * FROM information_schema.TRIGGERS
;
也可以使用
show triggers;
查询名字为my_trigger的触发器:
select * from information_schema.triggers where TRIGGER_NAME=’my_trigger’;
2. 删除已创建的触发器
drop trigger my_trigger;
union all对于重复的数据也会提取出来
union 不会提取重复的数据
一个sql语句可以有多个union或者union all连接
如果要对连接表中的字段排序,把union的表当成一个子表来操作,如下:
1 2 3 4 |
select ( select id, username from a union select id, qqname as username from b) as datatable order by id |
第一步:停止mysql服务
打开命令行窗口,输入net stop mysql回车,或者在Windows服务管理器中停止MySQL服务。
第二步:在命令行窗口中将目录切换到mysqlbin目录,比如cd c:program filesmysqlbin
第三步:输入mysqld –skip-grant-tables,执行此命令后,此命令行窗口将会停止响应
第四步:再打开一个命令行窗口,因为上一个窗口已经无法响应了,将目录切换到mysqlbin目录中,输入mysql回车,这时将会进入mysql控制台,输入下面的命令
>use mysql;
>update user set password=password(“123456″) where user=”root”;
>flush privileges;
>exit
这样密码就被设置为123456了,注销计算机,重新启动mysql服务, 就可以使用这个密码登录了。
如果 MySQL 正在运行,先杀掉这个进程: killall -TERM mysqld。
启动 MySQL :bin/safe_mysqld –skip-grant-tables &
就可以不需要密码就进入 MySQL 了。
然后就是
>use mysql
>update user set password=password(“new_pass”) where user=”root”;
>flush privileges;
重新杀 MySQL ,用正常方法启动