MySQL数据库简单使用

一,数据库简介:(存储结构)

数据库:database

1,数据库的分类:

    [1]层次结构    (xml)

    [2]网状结构        (网线,路由器,交换机)

    [3]关系化结构         关系化存储 

2,常用的数据库软件

    [1]Micrsoft sql server 面向中小型企业的数据库 它是一个收费的数据库 2000

    [2]Oracle 大型的数据库 它也是收费的        银行用的最多

    [3]mysql 开源免费的 5.6以前

    [4]sqlite 开源免费 也是Android内置的数据库

    [5]HSQL j2ee 用来的学习的数据库

    [6]DB2 ibm的大型数据库

 

3,链接MySQL

mysql -u root -p

   [1]什么是服务器:

   [2]从硬件理解:一台电脑 就是一台服务器

   [3]从软件理解:这台电脑 安装了相关的服务器软件 那么这台电脑 就是一台服务器

4,SQL:Structured Query Language

    [1]sql是结构化语言   ,Java是过程化语言

    [2]sql语言 每一句sql语句 都可以单独执行

    [3]sql语言的分类    (现在已经没有那么细了就是正删改查)

        DDL (数据定义语言)

            数据定义语言 - Data Definition Language

            用来定义数据库的对象,

            如数据表、视图、索引等

        DML  (数据操纵语言)

            数据处理语言 - Data Manipulation Language

            在数据库表中更新,增加和删除记录

            如 update, insert, delete

        DCL (数据控制语言)

            数据控制语言 – Data Control Language

            指用于设置用户权限和控制事务语句

            如grant,revoke,if…else,while,begin transaction

        DQL (数据查询语言)

            数据查询语言 – Data Query Language

            select

 

 

5,使用sql对数据库进行操作

    [1]连接到mysql数据库

        mysql -u 用户名 -p

    

    [2]显示所有的数据库    

    show database;

 

    [2.1]information_schema 提供了访问元数据的方式 数据库的名字 表名 字段名

    [2.2]mysql mysql的核心数据库 这个数据里面的是用户信息、用户权限等。

    [2.3]performance_schema mysql5.5以后增加的数据库,主要收集数据库信息的(进程等待、锁、互斥变量、文件信息...等)

    [2.4]test 测试数据库,没有任何东西,可以删除

    

    [3]创建一个新的数据库

    create database 数据库名称;

  

  [4]删除一个数据库库

    drop database 数据库名称;

  

[5]切换数据库

   use 数据库名称;

 

   [6]查看当前使用的是哪个数据库

     select database();

   

6,使用sql对表进行操作

    [1]创建一张表

    create table 表的名称(字段1 类型(长度),字段2 类型(长度),...);

    [2]查看表

    show tables;

    [3]如何查看表结构

    desc 表名;

    [4]删除表

    drop table 表名;

    [5]mysql数据类型

字符串型:

       VARCHAR(变长 20)

       CHAR(定长)长度不够自动加上空格补全

大数据类型:

       BLOB(binary large object) 存储二进制(音频、视频、图片)

       TEXT 字符(文本)

数值型:

       TINYINT         ==byte

       SMALLINT        ==short

       INT                     ==int

       BIGINT          ==long

       FLOAT           ==float

       DOUBLe          ==double

逻辑性:

       BIT  

日期型:

       DATE            日期

       TIME            时间

       DATETIME        日期+时间

       TIMESTAMP       自动更新时间

 

7,使用sql对表中的数据进行操作

[1]约束

    a,非空约束 not null    表示数据不能为空

    b,唯一性约束 unique    表中的记录不能重复的

    c,主键约束 primary key    表示非空,唯一性

    d,自动增长 auto_increment

*没有约束可以不断的重复创建相同的东西。所以我们要进行约束条件。

*设置非空约束,和唯一性约束。  其实和设置主键一样

[2]插入一条数据

    insert into 表名values(字段1的值,字段2的值,...);

    insert into 表名 values(字段1,字段2,...);

[2]查询数据

    select 字段1,字段2,.... from 表名;

    select * from 表名;

[3]修改数据

    update 表名 set 要修改的字段 ="修改后的值"

    update 表名 set 要修改的字段 ="修改后的值" where 条件

[4]删除数据

    delete from '表名' where 条件     根据条件删除

    delete from '表名 '                     全部删除

8,where条件的使用 (只作用于一个)

    select * from 表名 where 条件

    update 表名 set 要修改的字段 ="修改后的值" where 条件

    delete from 表名 where 条件

    1].运算符 <, <=,>, >= ,==

    2].in 在某个字段内查询某个值

    3].条件同时满足 and or

    4].like 模糊查询

 

 

[1]创建一张学生表 包含姓名、英语、数学的成绩

create table student(id int primary key,name varchar(20),english int,math int);

[2]插入数据

    insert into student values(10,"zhangsan",94,83);

    insert into student values(6,"lisan",87,43);

    insert into student values(7,"lisi",72,99);

    insert into student values(8,"wangwu",42,97);

    insert into student values(9,"zhaoliu",78,86);

[3]查询英语成绩>80分的同学

    select * from student where english >80;

[4]查询英语成绩是94和42的同学的信息

    select * from student where english in(94,42);

[5]查询英语成绩>=70并且<=90

    select * from student where english >=70 and english <=90

 

[6]查询英语成绩是94 数学成绩是83

    select * from student where english = 94 and math =83;

[7]模糊查询同学包含"san"的同学信息

%表示通配符。占用一个字节位

select * from student where name like '%si%';

[8]as 别名的使用

select english as 英语 from student;

[9]distinct 去除重复记录

select distinct 字段,字段1,from student;

[10]排序

注意:单独使用的时候不需要加where关键字

[10.1]order by 字段名 asc 升序 如果不指定asc默认就是asc

select * from student order by english asc;

[10.2]order by 字段名 desc 降序

select * from student order by english desc;

 

9,聚合函数,

 

[1]count()函数

select count(*) from ...where....

[2]sum()函数

select sum(要进行求和字段) from ...where....

[3]avg()函数

select avg(要计算平均数的字段名称) from …

[4]max()函数

select max(字段) from...

[5]min()函数

select min(字段) from...

 

10,分组查询,limit关键字

数据:

insert into student values(21,"zhangsan",90,80);

insert into student values(22,"lisan",80,40);

insert into student values(23,"lisi",70,90);

insert into student values(24,"wangwu",40,90);

insert into student values(25,"zhaoliu",70,80);

insert into student values(26,"zhangsan",90,90);

insert into student values(27,"lisan",40,20);

insert into student values(28,"lisi",40,50);

insert into student values(29,"wangwu",50,70);

insert into student values(30,"zhaoliu",20,90);

 

[1]分组查询:常用于聚合函数,根据一个或多个列对结果集进行分组

[1.1]统计每个学生的英语成绩的总和

语法:group by 字段

select name,sum(english) from student group by name;

[2]having: 使用HAVING 子句原因是,使用分组的时候,WHERE 关键字无法与聚合函数一起使用

[2.1]统计每个学生的英语成绩的总和>100;

select name,sum(english) from student group by name having sum(english)>200;

[3]limit 分页查询

语法:

1)limit 数量;

2) limit 起始位置(不包含起始位置),数量

[3.1]查询5条数据

select * from 表名 limit 5;

[3.2]从第5条记录开始查,一共查询4条记录

select * from  表名 limit 5,4

以后获取数据进行分页显示

 

 

知识总结。持续更新对你们有帮助的支持一下。哈哈。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兴帅_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值