美文网首页
MySQL数据库二:常用命令和SQL语法

MySQL数据库二:常用命令和SQL语法

作者: 苏木logwood | 来源:发表于2017-12-13 16:45 被阅读37次

    Linux命令补充:

    Windows和Linux之间是rz sz
    scp:
    A机器(Linux)将文件或者文件夹传到B机器(Linux)
    scp xxx.log root@xxx.xxx.xxx.xxxIP地址:/xxx/xxx
    scp -r /xxx root@xxx.xxx.xxx.xxxIP地址:/xxx/xxx
    A机器用xxx用户发送:
        scp xxx.log IP地址:/xxx/xxx
        等价于
        scp xxx@IP地址:/xxxx/xxxx
    
    软连接:
    路径:
        绝对路径:cd /xxx/xxx/xxx
        相对路径:cd xxxx
    ln -s 实际路径 软连接路径(最好使用绝对路径)
    

    MySQL的基本概念:

    database db :数据库
    table : 表
    db1:t1, t2, t3
    db2:t2, t3, t4
    
    字段类型:
    http://www.runoob.com/mysql/mysql-data-types.html
    整数型:int
    小数型:float/double
    字符:char
    字符串:varchar
    时间:timestamp
    
    常规命令:
    使用某个数据库:
            use 数据库名;
    
    查看数据库下面所有的表:
            show tables;
    
    查看某个表的表结构:
            show create table 表名;
    
    创建数据库:
            create database 数据库名;
    
    创建表:
        create table 数据库名.表名(字段 类型,……)
        例如:
            create table user(
                id int,
                name varchar(128),
                memory double,
                sex char(1),
                do varchar(100),
                cretime timestamp
            )CHARSET=utf8;
    
    删除表:
            drop table 表名;
    
    插入数据:
    insert into 数据库名.表名(列名) values(对应的值);
    例如:
        insert into user(id,name,memory,sex,do,cretime) values(1,'小米',10.22,'b','在打游戏','2017-12-11 00:00:00');
    
        insert into user values(1,'小米',10.22,'b','在打游戏','2017-12-11 00:00:00');
    
        insert into user(id, name) values(1,'小米');
    
    查询:
    select 字段 from 数据库名.表名;
    例如:
        select * from user;
        select * from user where id=3;
        *:查询所有的列
    
    更新:
    update 数据库名.表名 set 字段名称=新的值
    例如:
        update user set sex='g' where id=1;修改id为1的数据
    
        update user set sex='g';修改全部的行
    
    删除:
    delete from 数据库名.表名
    例如:
        delete from user;删除所有的数据,慎用
        delete from user where id=3;删除id为3的数据
    
    排序:
    order by xxx desc | asc
    例如:
        select * from user order by cretime 
    
        select * from user order by cretime desc; 
        select * from user order by cretime asc;
    
    只取多少行数据:
    limit n
    例如:
        select * from user limit 2;
    
    聚合语法:
    select 列1,列2……,sum(memory) from user group by 列1,列2…… having sum(memory) > 3000
    
    聚合函数:
    count() : 求数量
    sum() : 求和
    avg() : 求平均
    
    字段别名:
    as xxx
    
    等价SQl:使用子查询语法
    select * from(select dept, sum(sal) as sum_sal from salary group by dept) t where t.sum_sql > 5000;
    
    两张表关联:
    左连接:
        A left join B on A.字段=B.字段  工作中用的最多 A表数据最全 <-- B表补全
        
    右连接:
        A right join B on A.字段=B.字段     A表补全 --> B表数据最全
        
    内连接:
        A inner join B on A.字段=B.字段  慎用
        
    注意点:
        只要满足on条件,有几行算几行
        
    例如:
        select a.* b.deptno,b.dname from emp a left join dept b on a.deptno=b.deptno;
    
        select a.* b.deptno,b.dname from emp a right join dept b on a.deptno=b.deptno;
    
    创建db,user
    create database 数据库名;
    grant all privileges on 数据库名.* to 某个用户名@'%' identified by '密码';
    flush privileges;
    
    注意点:
        只要涉及权限修改,必须执行flush privileges;
    
        % 允许所有的IP都可以访问(权限危险)
        192.168.%.%
        创建用户并授权,同时限制只能在某个IP或者IP段上的机器才能访问
    
        谨记:
            flush privileges; 或者重启MySQL服务
        
    补充点:
        1.登录
            mysql -uroot -p123456 -h127.0.0.1
        2.dbeaver(企业使用的软件)
    
    mysqladmin环境变量
    vi .bash_profile
        # .bash_profile
        # Get the aliases and functions
    
        if [ -f ~/.bashrc ]; then
                . ~/.bashrc
        fi
    
        # User specific environment and startup programs
        export MYSQL_BASE=/usr/local/mysql
        export PATH=${MYSQL_BASE}/bin:$PATH
    
        PS1=`uname -n`":"'$USER'":"'$PWD'":>"; export PS1
    

    作业:

    0. MySQL部署好
    1. db,table创建、删除?
    2. 增删改查sql语法?
    3. 保留两位小数,怎么做?(拓展)
    4. 聚合+ join 语法 
    

    拓展:

    1. 表的字段的自增长 
    2. 表的约束: 主键、唯一、为空
    3. 表的索引(查询更快)有哪些、怎样创建
    

    【来自@若泽大数据】

    相关文章

      网友评论

          本文标题:MySQL数据库二:常用命令和SQL语法

          本文链接:https://www.haomeiwen.com/subject/rjkzixtx.html