MySql学习笔记

记录本人工作学习中遇到的MySQL使用方法,遇到的问题和解决办法,有些不正确的地方欢迎指正。

1.基础

1.1 查看已存在的数据库

mysql> show databases;

注意:databases是复数形式
1.2 创建新的数据库

mysql> CREATE DATABASE IF NOT EXISTS `database_name` DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
  • IF NOT EXISTS:该数据库不存在时才创建新的库;
  • database_name:你要创建的数据库的名称;
  • DEFAULT CHARSET utf8:默认的编码方式;
  • COLLATE utf8_general_ci:默认的排序方式。注意:utf8_general_ci是大小写不敏感的。

1.3 选择要使用的数据库

mysql> use database_name;
  • database_name:是show databases;的结果,不存在时报以下错误
mysql> use abc;
ERROR 1049 (42000): Unknown database 'abc'

2.用户/权限管理

2.1 查看数据库中已存在的用户

#切换到mysql库
mysql> use mysql;
#然后查询user表的user字段
mysql> select user from user;

用户列表
2.2 创建新用户

mysql> CREATE USER 'user_name'@'%' IDENTIFIED BY 'app_pfo_dlk_2018';

2.3 给用户授权

grant 权限 on 数据库对象 to 用户

mysql> grant ALL on has_db to app_has;  
Query OK, 0 rows affected (0.11 sec)

3.存储过程

下面是一个简单的存储过程,用来在user表中插入五条数据,用1+时间戳当做账号

DROP PROCEDURE IF EXISTS `million`;
CREATE DEFINER=`root`@`localhost` PROCEDURE `million`()
BEGIN
    DECLARE cur_time VARCHAR(14);#该变量存放时间字符串
    DECLARE account VARCHAR(32);#该变量是即将插入语句的账号
    DECLARE i INT(11);#循环变量
    SET i=0;
    WHILE i<5 DO
        #SELECT NOW();
        #获取当前时间转换为字符串,格式`%Y%m%d%H%i%S`
        SET cur_time=date_format(NOW(), '%Y%m%d%H%i%S');        
        #SELECT cur_time;
        #用 CONCAT() 函数拼接 1 和 cur_time,组装成账号
        SET account=CONCAT('1', cur_time); 
        #执行插入语句,values语句中,account字段的值使用自定义变量 account
        INSERT INTO `user` (`account`, `passwd`, `name`, `tel`, `create_time`, `operator`, `status`) VALUES (account, NULL, 'monkey', '10000', NULL, NULL, 1);
        #循环变量+1
        SET i=i+1;
    END WHILE;
END
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值