Mysql

show variables like '%char%'; #查看mysql的字符集
mysqldump -R #导出数据库的时候带着存储过程
alter table `原表名`  rename to `新表名`;   --更改mysql表名 注意(不是【'】,应该是【`】,就是数字1左边的那个键。)
show engines --查看当前数据库支持的引擎
grant all on *.* to root@'%' identified by'your_password'; --添加一个mysql root用户可以远程登录
grant all on *.* to 'root'@'%' with grant option; --设置远程登录的root具有grant权限
update abc,cde SET abc.name=cde.name WHERE abc.id=cde.id; --多表更新
select * from regg where name regexp '[0-9]'; --查询name列中带数字的记录
SELECT TABLE_NAME,COLUMN_NAME from information_schema.columns WHERE column_name LIKE 'bureauId'; -- 查找字段所在的表
select * from regg where name regexp '^0'; --查询name列中开头是0的记录
ALTER TABLE `test`.`person` DROP COLUMN `xuehao`; --删除person表的xuehao列
update mysql.user set password=password('新密码') where user='root' and host='localhost'; --更改mysql 本地root密码
flush privileges; --刷新权限使密码生效.
 select concat('kill ',id,';') FROM information_schema.processlist where host like '%1.16%' into outfile '/tmp/1.txt';
 source /tmp/1.txt;   --批量kill 来自主机192.168.1.16的mysql进程
#!/bin/bash
echo -n "Enter your host or user:"
read host
mysqladmin processlist | grep $host | awk '{print $2}'|xargs -n 1 mysqladmin kill
echo "$host is killed"
#保存成kill.sh 运行输入 ip地址或者mysql用户名进行kill
SELECT * from student where UNIX_TIMESTAMP(paytime)>UNIX_TIMESTAMP('2014-03-04 19:19:26'); --查询支付时间大于2014-03-04 19:19:26的数据
连接两个数据表的用法:
FROM 表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号
 
连接三个数据表的用法:
FROM (表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号
 
连接四个数据表的用法:
FROM ((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号
 
连接五个数据表的用法:
FROM (((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 
表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号) INNER JOIN 表5 ON 
Member.字段号=表5.字段号
update ssss set value=concat(value,'人员') where id=430 --设置value的字段增加人员两个字
SELECT FLOOR(8 + (RAND() * 6)); --获取一个随机数,在8~12之间
#PG中统计字段中某个字符出现次数的函数
create or replace function get_txt_count(p_source_txt character varying, p_count_txt character varying)
returns integer
as $get_txt_count$
declare
v_idx integer := 1;
v_cnt integer := 0;
v_source_txt character varying(2000) := p_source_txt;
v_len integer := length(p_count_txt);
begin
   while v_idx > 0 loop
       v_idx := position(p_count_txt in v_source_txt);
       if v_idx > 0 then
           v_cnt := v_cnt + 1;
           v_source_txt := right(v_source_txt, length(v_source_txt) - v_idx - v_len + 1);
       end if;
   end loop;
   return v_cnt;
end;
$get_txt_count$ language plpgsql;


搜索