Mysql数据库的基础学习

本文详细介绍了MySQL,一个开源的关系型数据库,以及其关键特性如SQL语言的DDL、DML、DQL、DCL,多表查询,事务(ACID特性)和索引的使用。
摘要由CSDN通过智能技术生成

简介:Mysql是开源免费的中小型关系型数据库,由Sun公司开发,sun公司后被Oracle收购。

关系型数据库:建立在关系模型基础上由多张相互连接的二维表组成的数据库。

Mysql企业级的连接方式为在CMD窗口中输入 mysql   -h****(ip地址) -P***(端口号) -uroot -p123

操作语言:SQL语言是操作关系型数据库的标准语言

SQL可根据功能分为四种:

        1.DDL(数据库定义语言,用于定义数据库,表等)

                {

               查询:1.show databases;2.select database();

               创建:1.create database [if not exists]  databasename;

               删除:drop database if exists dababasename;

              使用:use dababasename;

创建语句:create table tablename(

                         列名     数据类型   [约束]    [comment '注释信息']

)comment '注释信息'

2.1约束的类型:

           1.primary key  主键约束(唯一标识)

           2.not null   非空约束

           3.unique    重复约束

           4.default ‘默认值’  默认值约束

           5.foreign key 外键约束

}

2.DML(数据库操作语言,用于对数据库中表的增删改操作),{

insert语句{

对表中的指定字段插入数据:

          insert into tablename (字段1,字段2) values(值1,值2)

 对表中的所有字段插入信息就可以直接填入values:

           insert into tablename values(.......)

若要插入多个数据则直接values后写入多个

insert into tablename (字段1,字段2) values(值1,值2),(值3,值4)

}

 可以通过sql语句中的now()方法来获取系统当前时间,时间类型需要加引号

}

修改数据:{

若由where限定语句则指定修改某个字段的值,若没有则修改整张表

updata tablename set  字段名1=值1,字段名2=值2 [where ....]

}

删除数据{

delete from tablename [where ..]

删除数据不能只删除某个字段,若不加where语句则默认删除整张表的数据

}

3.DQL(数据库查询语言,用于对数据的查询)

查询语句{

1.基础查询

  select 字段1['别名'] form tablename 

例:selct username as '姓名' from Emp //as关键字可省略

  若查询的值想要去重可以加入distinct关键字

 select distinct job from emp

}

条件查询{

使用where关键字来定义条件语句

例:select * from emp where name='张三'

 若where查询语句需要由多个条件则可通关关键字and来定义

常用的比较运算符:{

=,>,<,!=(<>),like,in(value1,value2),between and,is null

模糊查询中'-'代表一个字符,%代表多个字符

}逻辑运算符{

and(&&)

or(||)

not(!)}

}

分组查询{

聚合函数:sum,max,min,avg,count

null值不参与聚合函数的运算

select 字段列表 from tablename where 判断条件 group  by 分组字段名 having 过滤条件

 having和where的区别:

   1.判断时机不同:where在分组前进行条件判断,而having是判断分组后的数据

  2.where语句不能以聚合函数为判断条件而having可以

执行顺序:where>group by >having

}

sql中的if语句

if(判断语句 true取值,false取值)

Select if(job=1 '讲师','主任') from emp

case语句

select case job when case=** then value1 when case ** then value2 else elsevalue end

4.DCL(数据库控制语言,用于对数据库用户的管理)

二.多表查询

  内连接{

  1.显示内连接:select    conlum1 conlum2 from table1,table2 where table1.id=table2.id;

  2.隐式内连接:select conlum1 conlum2 from table1 inner join table2 on table1.id=table2.id

}

外连接{

  1.左外连接:select   字段列表 from table1 left   join  table2 where 判断条件

  2.右外连接:select   字段列表 from   table1 right join table2 where 判断条件

}

子查询{

}

四.事务:定义:事物是一组操作的集合,事物会把所有的操作看成一个整体一起向系统提交(这些操作要么同时成功,要么都失败)

用法:star transation/begin (开启一个事物)

//操作语句

commit(提交事务)

roll back(回滚事物

四大特性(ACID):

            1.原子性:事务是一个整体不可再分,要么全部成功,要么全部失败

            2.一致性:事务操作后保证数据库中的数据都保持一致性

            3.隔离性:数据库通过隔离机制,保证事务在不受外部的影响情况下独立运行

            4.永久性:事务一旦提交或者回滚,对数据库中的数据的改变都是永久的。

索引:索引是帮数据库高效获取数据的数据结(B+树)

当建表时创建了主键那么数据库会自动为该字段添加一个索引。

当某个字段添加了uique字段时,就是为该字段添加了一个unique索引

     优点:提高查询效率,降低了cpu的消耗

    缺点:索引是一种数据结构也会占用内存空间,索引会降低增删改操作的效率,因为需要维护索引结构

索引的创建create    [unique]  index  索引名 on tablename(字段名) 

查询索引:show index from tablename

删除索引:drop index indexname on tablename

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值