mysql的基本使用(很好)

原文链接:https://blog.csdn.net/cfy137000/category_7611494.html

建议掌握点

1.数据库(熟悉):数据库基本概念,关系型数据库介绍,mysql安装与使用,navicat使用

2.Sql语言(重点):数据表操作,数据操作:增删改查,条件查询,排序,聚合函数,分组,分页,链接查询,自关联,子查询,子查询演练

3.数据库高级功能(了解):数据库设计,命令行操作数据库,函数,存储过程,视图,事务,索引,外键,用户密码

 

1.JDBC中大数据量的分页

Mysql语法:

SELECT *

    FROM 表名

    LIMIT [START], length;

Oracle语法:

SELECT *FROM (

        SELECT 列名,列名,ROWNUM rn

        FROM 表名

        WHERE ROWNUM<=(currentPage*lineSize)) temp
 

2.数据定义语言DDL,用来定义数据库对象:数据库,表,列等.creat,alter,drop等

数据操作语言DML,用来对数据库中表的记录进行更新,insert,delete,update等

 

3.DDL -- 数据库操作

3.1创建数据库

create database 数据库名;

create database if not exists数据库名; -- 如果不存在则创建

 

  1. 查看数据库
    1. 查看MySQ服务器中的所有数据库:

show database;

      1. 查看某个数据库的定义信息

Show create database 数据库名;

    1. 删除数据库 drop database数据库名称;
    2. 切换数据库 use 数据库名;
  1. 表结构相关语句

创建表

create table 表名(

         字段名 类型(长度)约束,

         字段名 类型(长度)约束,

);

  1. 删除主键

Alter table 表名 drop primary key;

  1. 查看表
    1. 查看数据库中所有的表 show tables;
    2. 查看表结构 desc 表名;
    3. 查看建表语句 show create table 表名;
  2. 删除表 drop table 表名;
  3. 删除列 alter table 表名 drop 新表名;
  4. 修改表名 rename table 表名 to 新表名;
  5. 修改表的字符集alter table 表名 character set 字符集;
  6. 修改列名 alter table 表名 change 列名 新列名 列类型;
  7. 添加列 alter table 表名 add 列名 列类型;

4.DML操作

:mysql,字符串类型和日期类型都要用单引号括起来’tom’,’2020-04-16’;空值:null

4.1 查询表中所有数据的语句:

select * from 表名;

4.2 插入操作:insert into 表名(列名1,列名2…) values(列值1,列值2…);

4.3 修改操作:update 表名 set 列名1=列值1,列名2=列值2… where 列名=值;

4.4删除操作:delete from 表名[where 列名=值]6DQL数据查询语言(重要)

5.数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端。

查询返回的结果集是一张虚拟表.

语法:select 列名 from 表名[where-> group by-> having-> order by]

SELECT selection_list /要查询的列名称/

    FROM table_list /要查询的表名称/

    WHERE condition /行条件/

    GROUP BY grouping_columns /对结果分组/

    HAVING condition /分组后的行条件/

    ORDER BY sorting_columns /对结果排序/

    LIMIT offset_start, row_count /结果限定/

6.having和where的区别

having是在分组后对数据进行过滤,而where是在分组前对数据进行过滤

having后面可以使用聚合函数(统计函数),where后面不可以使用聚合函数

7.LIMIT用来限定查询结果的起始行,以及总行数。

查询5行记录,起始行从0开始SELECT * FROM emp LIMIT 0, 5;

8.查询语句的书写顺序:

select – from- where- group by- having- order by-limit

查询语句的执行顺序:

from - where -group by - having - select - order by-limit

9.多表查询

内连接 [INNER] JOIN ON

外连接 OUTER JOIN ON

左外连接 LEFT [OUTER] JOIN

右外连接 RIGHT [OUTER] JOIN

全外连接(MySQL不支持)FULL JOIN

自然连接 NATURAL JOIN

         9.1 内连接 SELECT * FROM student INNER JOIN class ON student.sid = class.cid;

         9.2 左外连接 SELECT * FROM temp.student LEFT JOIN temp.class ON sid = cid;

         9.3 右外连接 SELECT * FROM temp.class  RIGHT JOIN temp.student ON sid = cid;

组合查询: select title,writer,birthaddr,birth from mytable,title

 where mytable.name=title.writer and title=‘a2‘;

10.子查询就是嵌套查询, 一个select语句中包含另一个完整的select语句。

10.1 工资高于JONES的员工

SELECT * FROM emp

WHERE sal > (SELECT sal FROM emp WHERE ename='JONES')

10.2 查询工作和工资与MARTIN完全相同的员工信息

SELECT * FROM emp

WHERE (job,sal) IN (SELECT job,sal FROM emp WHERE ename='MARTIN')

10.3查询有2个以上直接下属的员工信息

SELECT * FROM emp

WHERE empno IN (

       SELECT mgr

       FROM emp

       GROUP BY mgr

       HAVING COUNT(mgr) >= 2);

 

你可能感兴趣的:(数据库MySQL)