数据库

作者: 好名字_4d27 | 来源:发表于2020-07-11 14:38 被阅读0次

    创建数据库:create database 数据库名;

    删除数据库:drop database 数据库名;

    进入数据库:use 数据库名;

    创建数据库:create table 表名

    查看创建表的语法:show create table 表名;

    查看表的结构:desc 表名;

    查看当前数据库的表:show tables;

    删除表:drop table 表名;


    修改表名:

    alter table 旧表名 rename 新的表名;

    修改表中字段的类型:

    alter table 表名 modify 字段名 新数据类型;

    修改表,向表添加字段:

    alter table 表名 add column 列名 数据类型 列的特征;

    修改表,删除表中的字段:

    alter table 表名 drop column 列名;

    修改表,修改字段名:

    alter table 表名 change 原字段名 新字段名 数据类型;


    向表中插入数据:

    insert into 表名(列名列表) values(值列表);

    查询表的数据:

            select 列名列表 from 表名
            [where 条件]                              //根据条件边查边筛选
            [group by 分组的列]                     //查询完了后再分组
            [having 条件]                             //分完组后再筛选
            [order by 排序列 asc/desc]             //查询完了后再排序
    
    
    

    查询的聚合函数:

    sum()求总和,
    count()统计总数,
    avg()求平均数,
    max()最大值,
    min()求最小值。
    普通列在一般情况下不能和聚合函数列一起用,除非这个变通列作为分组条件。
    

    多表连接查询(表与表之间有一个列共用)

        a.内连接:查询多张表,表之间的查询是并列
                语法:select 列名列表 from 表1,表2,表3 where 表1的桥梁列=表2的桥梁列 and 表2的桥梁列=表3的桥梁列
                语法:select 列名列表 from 表1 
                      inner join 表2 on 表1的桥梁列=表2的桥梁列
                      inner join 表3 on 表2的桥梁列=表3的桥梁列
    
            b.外连接:查询多张表,表之间的查询分主次。
                左连接,左边的表为主要,全部显示,右边为次与左表匹配的数据显示,没有匹配的数据以null显示。语法:select 列名列表 from 表1 left join 表2 on 表1的桥梁列=表2的桥梁列.
    
                右连接,右边的表为主要,全部显示,左边为次与右边匹配的数据显示,没有匹配的数据以null显示。语法:select 列名列表 from 表1 right join 表2 on 表1的桥梁列=表2的桥梁列.
    
            eg://查询名称JavaEE的班级所有的学生信息
                select stuNo,sname,age,sex from stu,class where stu.classid=class.id and                        class.cname='javaEE';
    
    

    子查询:

    一个查询中嵌套另一个查询。子查询效率比连表查询效率高。

    eg://查询名称JavaEE的班级所有的学生信息
                 select stuNo,sname,age,sex from stu where classid=(select id from class where cname='javaEE');
            注:能用子查询解决的问题,都可以用连表查询解决;能用连表查询解决的问题,不一定都可以用子查询解决。
    

    模糊查询:

        a.在某个范围内 between min1 and max1;
                b.等于指定任一值: in(值1,值2);
                c.模糊查询名字中以s开头的学生信息:select * from stu where sname like 's%';
                    通配符:%(通配任意长度的字符),_通配一个字符,[a-z]通配指定范围内任一个值。
    
    

    修改表中的数据

    update 表名 set 列名1=新值1,列名2=新值2 where 条件;(条件一定要记得)。
    

    删除表中的数据:

            a.delete from 表名 [where 条件]:   //如果不写where条件,删除整个表中的数据
            b.truncate table 表名(删除效率高):删除整个表中的数据。
    
    

    相关文章

      网友评论

          本文标题:数据库

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