MySQL学习笔记

1.MySQL安装

    Windows:
        可执行文件:
            点点点
        压缩包:
            mysql.exe    客户端
            放置任意目录
            初始化
                服务端:mysqld.exe
                服务端初始化:cmd --> cd C:\Program Files\MySQL\MySQL Server 5.7\bin --> mysqld --initialize-insecure(在MySQL Server 5.7文件夹下创建了data文件夹)
                创建了用户:用户名为root,密码为空
            启动服务端:
                cmd --> cd C:\Program Files\MySQL\MySQL Server 5.7\bin --> mysqld
            启动客户端:
                cmd --> cd C:\Program Files\MySQL\MySQL Server 5.7\bin --> mysql -u root -p
                (-u后接用户名,-p表示密码)
                回车,弹出'Enter password:',因为密码为空,回车(我之前设了密码,所以要输入密码133120),登录成功
            服务端和客户端连接起来了
        
        添加环境变量:
        path 添加 C:\Program Files\MySQL\MySQL Server 5.7\bin
        cmd 就可以直接输入mysqld打开服务端,直接输入mysql -u root -p --> 回车 -->输入密码-->进入MySQL
        
        Windows服务:
            通过压缩包安装的需要自己制作Windows服务
                安装服务:
                cmd --> cd C:\Program Files\MySQL\MySQL Server 5.7\bin --> mysqld --install
                移除服务:
                cmd --> cd C:\Program Files\MySQL\MySQL Server 5.7\bin --> mysqld --remove
                
                以后直接cmd --> net start mysql57 启动服务 --> net stop mysql57 停止服务
            通过可执行文件安装的已经自动帮你做好了Windows服务
            
2.MySQL语句

    文件夹[数据库]
    
        show databases;
        看data目录里有几个文件夹
        
        create database db1;
        创建文件夹db1
        
        create database db2;
        创建文件夹db2
        
        drop database db2;
        删除文件夹db2
        
        use db1;
        进入数据库db1
        
        
            文件[表]
                show tables;
                查看db1的所有表
                
                create table t1(id int,name char(10),age int)
                创建三列:id,name,age
                id列数据类型为数值
                name列数据类型为字符串,限定字符串长度不超过10,超过10的字符串自动把超过的部分删掉
                
                select * from t1;
                查看表t1下的所有列
                
                select name from t1;
                查看表t1下的name列
                
                select name,age,id from t1;
                查看表t1下的name,age,id列(假设表中是按id,name,age从左往右排,这样取的话会先把name列取出来,再把age列取出来,最后把id列取出来)
            
                    数据行[行]
                        insert into t1(id,name,age) values(1,'alex',18);
                        往表t1插入数据行,值为1,alex,18
                        
                    数据行[行]
                    数据行[行]
            
    当插入数据行的内容包含中文字符时,需要先进行以下操作才不会出现编码错误
        create database db2 default charset utf8;
        create table t1(id int,name char(10),age int) default charset=utf8;
        insert into t1(id,name) values(1,'内容');
        select id,name from t1;
            
3.MySQL连接

    查看MySQL有几个用户
    mysql> show databases;
    mysql> use mysql;
    mysql> show tables;(最后一行user就是保存用户名和密码的地方)
    mysql> select user from user;(可以看到user数据表的user列)
    mysql> select user,host from user;(可以看到user数据表的user,host列,即用户名和主机列)
    
    默认:用户root
    创建用户:
        create user 用户名@ip地址 identified by 密码
        如:
        create user 'alex'@'192.168.1.1' identified by '123123'(创建alex账号,只能在ip地址为192.168.1.1上登录,密码为123123)
        create user 'alex'@'192.168.%' identified by '123123'(创建alex账号,只能在ip地址前缀为192.168.上登录,密码为123123)
        create user 'alex'@'%' identified by '123123'(创建alex账号,可以在所有电脑上登录,密码为123123)
    授权:(某个用户只能看某个数据库,只能看某个数据库下的某个数据表)
        权限 人
        
        grant select(只能查),insert(能查询还能插入,不能更新),update(还能更新) on db1.t1(限定权限在db1数据库的t1数据表) to 'alex'@'%'(限定只有用户alex有权限);
        grant all privileges(赋予除授权外的所有功能,只能root用户能授权) on db1.*(对db1的所有数据表有权限) to 'alex'@'%';
        revoke all privileges from db1.* to 'alex'@'%';
        
    案例:
    cmd --> create user 'alex'@'%' identified by '123123'; --> grant all privileges on db1.* to 'alex'@'%';
    另开启一个cmd --> mysql -u alex -p --> (Enter password:)123123 --> show databases;(可以看到的数据库只有两个)
    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值