zoukankan      html  css  js  c++  java
  • 数据库操作回顾

    sql database基本指令

    #查看数据库版本
    select version();
    #查看当前时间
    select now()
    #创建表
    create database xxx charset utf8;
    #使用表
    use xxx
    #删除表
    drop database xxx;
    #创建表语句
    show create database xxx;
    #显示所有表
    show databases
    

    sql table基本指令

    #创建表
    create table yyy(
    id int primary key not null auto_increment,
    name varchar(30)
    );
    #添加栏
    alter table yyy add name varchar(30);
    #修改字段类型
    alter table yyy modify name varchar(100);
    #修改名
    alter table yyy change name newname varchar(20);
    
    #删除字段
    alter table yyy drop name;
    
    #删除库
    drop database xxx
    #删除表
    drop table xxx
    
    

    sql增删改

    #增加
    insert into table_name values (xxx),(xxx);
    #指定栏插入
    insert into table_name (colum1,colum2) values (xxx),(xxx)
    #修改
    update table_name set xxx=xxx where xxx
    #删除
    delete from table_name where xxx
    

    sql查询

    #全部查询 
    SELECT * from posts;
    
    #取相应字段
    SELECT title as '标题',create_time as '创建时间' FROM posts; #别名
    
    SELECT posts.title,posts.author_id from posts;
    
    #消除重复行
    SELECT DISTINCT gender from front_user#只显示一列
    
    #条件查询 >  <  <= >=  =  !=(或者<>) 不等于,等于,大于小于
    
    #NOT
    #查找性别不为男的用户
    SELECT username,gender FROM front_user where not(gender="男") 
    
    #AND
    #查找性别不为男并且用户名不是'donghao'的用户
    SELECT username,gender FROM front_user where not(gender="男" AND username="donghao")
    
    #OR
    SELECT name from album where id=1 or id=3
    
    #模糊查询
    #like  %替换一个或者多个  _替换一个
    SELECT title from posts where content like "<p>用户%"
    
    SELECT title from posts where content like "%阳光,而是微笑%"
    
    #__
    #查询至少有两个字以上的标题
    SELECT title from posts where title like "__%"
    
    #RLIKE正则
    SELECT title from posts where title RLIKE "^祝.*~$"
    
    #in
    SELECT name from album where id IN (1,2,3,4,5,6,7,8)
    
    #BETWEEN AND
    SELECT name from album where id BETWEEN 1 and 100
    #NOT BETWEEN AND
    SELECT name from album where id not BETWEEN 1 and 100
    
    #is null
    SELECT * from front_user where realname is null;
    #is not null
    SELECT * from front_user where realname is not null;
    

    排序

    #从大到小
    SELECT * from posts ORDER BY read_count desc
    #(默认,可省略) 从小到大
    SELECT * from posts ORDER BY read_count asc 
    

    聚合函数

    count  avg  max  min
    SELECT COUNT(*) from posts
    SELECT max(read_count) from posts
    SELECT avg(read_count) from posts # or select sum(read_count)/count(read_count) from posts;
    SELECT min(read_count) from posts
    SELECT round(avg(read_count),2) from posts
    #四舍五入 round(count,num)#保留2位小数
    

    分组

    SELECT gender,count(gender) from front_user GROUP BY gender;
    
    #分组里面包含数据
    SELECT gender,count(gender),GROUP_CONCAT(username) from front_user GROUP BY gender;
    

    输出:
    在这里插入图片描述

    #having 过滤数据(对结果查询出的结果过滤)
    SELECT gender,GROUP_CONCAT(username),avg(charactors) FROM front_user GROUP BY gender HAVING(gender!='男')
    

    分页

    select * from posts LIMIT 10
    select * from posts LIMIT 1 10 #1:起始下标  10 下标
    

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190324140751823.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyMjM5NTIw,size_16,color_FFFFFF,t_70 =600x300)
    连接查询
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190324141703530.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyMjM5NTIw,size_16,color_FFFFFF,t_70 =600x450)

    # inner join
    #只显示front_user中的nickname和posts表中的title
    SELECT front_user.nickname,posts.title from front_user INNER JOIN posts ON front_user.id=posts.author_id where nickname='小姐姐'
    别名:
    SELECT f.nickname,p.title from front_user as f INNER JOIN posts as p ON f.id=p.author_id where nickname='小姐姐'
    
    #left join
    left join左边的表为基准,找不到置id 为null
    
    #rightjoin
    与left join相反
    

    在这里插入图片描述
    自关联

    SELECT *FROM `comment` as c INNER JOIN `comment` as d on c.id=d.origin_comment_id where c.post_id="PuanQjvyHDzULWTj4cEick"
    

    子查询

    #查询写的字数最多的人信息
    SELECT * from front_user where charactors=(SELECT MAX(charactors) from front_user)
    
  • 相关阅读:
    五:DockerFile制作Docker镜像
    六:Docker生产案例
    集群基础知识及haproxy负载均衡
    nfs服务部署记录
    haproxy 1.8.X版本编译安装教程
    Centos7.4安装kvm虚拟机
    什么是Docker
    Python—操作redis
    Python—redis
    机器学习之梯度下降法
  • 原文地址:https://www.cnblogs.com/donghaoblogs/p/10588263.html
Copyright © 2011-2022 走看看