数据库

2020-07-11  本文已影响0人  好名字_4d27

创建数据库: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 表名(删除效率高):删除整个表中的数据。

上一篇 下一篇

猜你喜欢

热点阅读