数据库笔记

MySQL笔记

1.使用游标,在存储过程或函数中用于对查询的多条记录进行逐条处理。

1.1 定义 DECLARE cursor_name CURSOR FOR select_statement。
cursor_name 表示游标的名称;select_statement 表示 SELECT 语句.
1.2 提前定义变量参数保存查询结果中的值.
1.3 打开游标 OPEN cursor_name;
1.4 向变量参数中赋值 FETCH cursor_name INTO var_name [var_name]…
1.5 关闭游标 CLOSE cursor_name;

DELIMITER //
create PROCEDURE abc()
begin
declare a int;
declare i int DEFAULT 0;
declare b VARCHAR(50);
declare test CURSOR for SELECT BIID,BoxNum from tbboxinfo limit 0,5;
declare continue handler for not found set i=1;
open test;
repeat
	fetch test into a,b;
	select a,b;
UNTIL i=1 END repeat;
close test;
end //
call abc;
drop PROCEDURE abc;

2.修改MySQL用户密码

my.ini添加 skip-grant-tables跳过密码验证

mysql;
user mysql;
update user set authentication_string=password(‘root’) where user=’root’ and host=’localhost’; --MySQL5.7之后版本使用
或者
update user set password=password(‘root’) where user=’root’ and host=’localhost’; --MySQL5.7之前版本使用
FLUSH PRIVILEGES;

3.使用msql自带mysqldump来备份数据库

mysqldump --host=localhost --port=3306 --user=root --password=8888 --default-character-set=utf8 --routines --events databaseName

4.修改最大连接数

查看最大连接设置:show global variables like ‘%max_connections%’;
navicat运行以下代码:
set GLOBAL max_connections=300

5.修改最大空闲连接时长

查看设置:show variables like ‘%timeout%’;
修改设置:修改my.cnf(linux) my.ini(windows) wait_timeout=28800000

6.数据类型长度

oracle中varchar2最大可存储4000个字符,超过需使用clob,clob中超过4000字符才使用字节存储,否则和varchar2存储方式一样。
mysql中varchar最大可存储65536个字节。

7.oracle修改当前用户下表名和字段都转换为大写

begin
   for t in (select table_name tn from user_tables) loop --owner 只匹配当前登录用户所建立的表 
       begin
          for c in (select column_name cn from all_tab_columns where table_name=t.tn) loop  --all_tab_columns 中保存所有表中名字为tablename的表字段信息
              begin
                 execute immediate 'alter table "'||t.tn||'" rename column "'||c.cn||'" to '||c.cn;
              exception
                 when others then
                    dbms_output.put_line(t.tn||'.'||c.cn||'已经存在');
              end;
          end loop;

          execute immediate 'alter table "'||t.tn||'" rename to '||t.tn;
          exception
             when others then
                dbms_output.put_line(t.tn||'已存在');
       end;
   end loop;
end;

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值