MySQL学习笔记

来源:互联网 发布:解压缩软件 编辑:程序博客网 时间:2024/06/05 07:28
配置文件:sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
登入命令:mysql -uroot -p
创建(删除)数据库:create(drop) database ***
转换到数据库:use databasename;
创建表:
    create table tablename(
        r1name datatype (若要不为空写 not null),
        r2name datatype (若要不为空写 not null),
        r3name datatype (若要不为空写 not null)
    );

查询表:
    DISCRIBE tablename
    或者DISC tablename

    查询表的详细信息:
        show create table tablename

    格式化输出:
        show create table tablename \G

修改数据表:
    修改表名:
        ALTER TABLE oldname RENAME TO newname;
    修改字段名:
        ALTER TABLE tablename
        change oldname newname newtype;
    修改字段数据类型:
        ALTER TABLE tablename
        MODIFY name newtype;
    添加字段:
        ALTER TABLE tablename
        ADD newname newtype;
    删除字段:
        ALTER TABLE tablename
        DROP name;
    添加主键语法:
删除表:
    删除无关联数据表:
        drop TABLE tablename1,tablename2;
    删除有关联数据表:
        先删除关联关系,再删除表
插入数据:
    所有列都插入值:
        INSERT INTO tablename
        VALUES(var1,var2,.....varn);  #若此列有默认值则可用DEFAULT来代替默认值
    为特定列插入值:
        INSERT INTO tablename(col1,col2,...colm)
        VALUES(var1,var2,.....varm);  #若此列有默认值则可用DEFAULT来代替默认值
    一次性插入多条记录:
        在VALUES后填写多组值即可:VALUES()()()
修改数据:
    修改全部数据:
        UPDATE tablename
        set rawname=newvalue
        '''
        实例:
            set score=score+10
            set sex=‘男’
        '''
    修改特定数据:
        在修改特定数据后加上 WHERE [条件语句]
        '''
        实例:
            set sex=‘男’
            WHERE QQnum=‘1234560’
        '''

删除数据:
    使用DELETE命令删除数据:
        DELETE FROM tablename
        WHERE[条件语句]
        '''
        实例:
            DELETE FROM tablename
            WHERE sex=‘女’
        '''
    使用TRUNCATE TABLE删除数据:# 不能使用WHERE语句
        TRUNVATE TABLE tablename


查询基础:
    #重点SELECT语句
    查询表的全部行和列:
        SELECT rawname1,rawname2....rawnamen
        FROM tablename
        简便写法:
            SELECT ×
            FROM tablename
    查询表的部分列:
        与查询表的全部列相同

    别名的使用:  #AS关键字可省略
        SELECT rawname1 AS ‘newname’,rawname2 AS ‘newname’....rawnamen AS ‘newname’
        FROM tablename

    DISTINCT关键字: # 去重
        SELECT DISTINCT rawname
        FROM tablename

    LIMIT关键字: #指定结果集中数据的显示范围
        SELECT rawname
        FROM tablename LIMIT begin,end #若LIMIT后只写一个数字则只显示前几个
    
普通条件查询:
    逻辑运算符: 并且: AND ,或者:OR, 非:NOT

    复合条件查询:
        SELECT rawname
        FROM tablename
        WHERE score>1000 and name=‘jack’
    
    模糊查询:
        SELECT rawname
        FROM tablename
        WHERE score BETWEEN 100 AND 200
         # 查询分数在100到200之间的信息(闭区间,前后不可颠倒)
        
        SELECT rawname
        FROM tablename
        WHERE score NOT BETWEEN 100 AND 200
        #查询分数不在此区间的信息

        通配符:(要在前加LIKE关键字)
            '''    
                _  代表任意一个字符
                %  代表任意长度的多个字符
                [] 指定范围内
                [^] 不在括号中
                
            
            '''
            WHERE rawname (NOT)LIKE '孙%'
            #查询所有(不)性孙的人  '%'代表任意长度的字符
        查询空值的运算符:
            WHERE rawname IS NULL
        查询不为空:WHERE rawname IS NOT NULL    #NOT 要在IS后面

对查询结果拍序:
    单列排序:
        SELECT rawname
        FROM tablename
        ORDER BY rawname ASC/DESC  # ASC升序 DESC降序 默认ASC

    多列排序:
        SELECT rawname
        FROM tablename
        ORDER BY rawname1 ASC/DESC,rawname2 ASC/DESC #在前面的优先级高

汇总和数据分组:
    聚合函数: sum(),avg(), min(),max(),count()....
        SELECT SUM(rawname) FROM tablename

    在结果集内分组:
        SELECT SUM(rawname)
        FROM tablename
        GROUP BY rawname

    筛选分组结果:
        SELECT SUM(rawname)
        FROM tablename
        GROUP BY rawname
        HAVING AVG(score)>4000
        #筛选统计后平均分大于四千的
        #HAVING与WHERE的区别: HAVING是对聚合函数计算后的结果进行筛选
        按平均分进行排序:
            在最后加上ORDER BY AVG(score) ASC/DESC



原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 取了高铁票丢了怎么办 高铁买了学生票没带学生证怎么办 买的学生票超过区间怎么办 买了超过区间的学生票怎么办 火车票大于学生票购买区间怎么办 买了学生票学生证丢了怎么办 取票学生证没带怎么办 学生卡的失磁怎么办 学生证没有充磁买不了学生票怎么办 买学生票不在优惠区间怎么办 火车票学生优惠次数用完怎么办 学生乘火车优惠磁卡丢了怎么办 磁卡锁的卡丢了怎么办 电梯磁卡扣丢了怎么办 买火车票手机号填错了怎么办 买火车票乘客身份核验失败怎么办 火车票不在一个车厢怎么办站票 坐火车丢东西了怎么办 g2坐过站了怎么办 坐火车买近了怎么办 打印的纸质火车票丢失怎么办 格力空调没保修单怎么办 格力空调不兑现保修怎么办 哈空调如果退市怎么办 空调保修单丢了怎么办 海尔空调发票丢了怎么办 格力空调发票丢了怎么办 联程航班第一程延误怎么办 飞机经停10小时怎么办 去车站买票没带身份证怎么办 转机航班第一班延误了怎么办 转机航班第一班取消了怎么办 香港转机大陆行李托运怎么办 联程车票第一班车晚点怎么办 到了普吉机场接机怎么办 被骚扰电话打个不停怎么办 网贷不停发信息怎么办 网贷天天发信息怎么办 诈骗电话一直打个不停怎么办 寄快递电话号码写错了怎么办 寄快递收件人号码错了怎么办