美文网首页
MySQl基础知识

MySQl基础知识

作者: 草鞋弟 | 来源:发表于2017-05-22 23:49 被阅读0次

    1 什么是MySQL?

    2有什么作用?

    3 常用的操作

    1--- 库级基本操作

    • 1.创建数据库
      create database 库名;

    • 2.删除数据库
      drop database 库名;

    • 3.选中数据库
      use 库名;

    • 4.显示所有数据库
      show databases;

    • 显示数据库的创建语句
      show create database database_name(数据库的名字)


    `temp` : 这种写法是避免我们设定的数据库名为内置的关键字;

    *!40100 DEFAULT CHARACTER SET utf8 *: 表示:当mysql的版本 >= 4.01.00,
    默认的字符集设置为utf8;

    • 演示图片



    创建数据库时的一些细节问题

    • mysql提供的字符集可以通过
      show character set ; 指令来进行查询


    • 当给数据库设置不同的字符集的时候对添加数据会带来一定的影响;

    • 同样的给数据库设定不同的校对集,也会对数据库操作带来一定的影响;

    注意:

    • 在mysql的控制台执行sql语句的时候,为了能够正确的显示中文,需要设置一个控制的字符集
      set names gbk ;
      上面指令表示控制台使用的当前默认的字符集为gbk;

    备份\修改\恢复\移植数据库(重点掌握)

    • 修改数据库的字符集和校对集

    • 数据库的备份

    • 备份数据库

    基本语法:
    mysqldump -u root -p 数据库名 > 备份路径(注意最后不要加分号,因为还有密码要输入)


    • mysqldump是一个执行备份的程序,在
      mysql/bin文件目录下;

    • 备份时,需要用户具有备份的权限;

    • 备份文件的文件名是自己拟定的,名字和后缀可以随便写;

    • 恢复单个数据库

    1.建立一个空的数据库,这个数据库最好与你要恢复的数据库的库名字一致;

    2.切换到空库里

    3.source 备份文件路径

    4.测试是否恢复成功


    可见是恢复成功了

    • 备份指定数据库的某些表

    mysqldump -u root -p 数据库名 表名1 表名2 ... > 备份文件路径
    (注意不要加分号,后面还要填写密码)


    ---表级操作

    -创建表

    • create table 表名(
      字段名称 字段类型 字段属性,
      字段名称 字段类型 字段属性,
      字段名称 字段类型 字段属性,
      )engine=innodb charset=utf8;

    • 显示库下面所有的表
      show tables;

    • 查看表的结构
      desc 表名

    • 查看表的创建过程
      show create table 表名;

    • 修改表-之增加列
      alter table 表名 add 字段名 字段类型 字段属性;

    • 修改表-之修改列
      alter table 表名 change 旧的字段名 新字段名 字段类型 字段属性;

    • 修改表-之修改列属性
      alter table 表名 modify 字段名 新字段类型 新字段属性;

    • 修改表-之减少列
      alter table 表名 drop 字段名;

    • 修改表之增加主键
      alter table 表名 add primary key(主键所在字段名);

    • 修改表之删除主键
      alter table 表名 drop primarg key;

    • 修改表之增加索引
      alter table 表名 add index (索引名);

    • 修改表之删除索引
      alter table 表名 drop index 索引名;

    • 清空表的数据
      truncate 表名;

    • 多表查询(复杂查询)

    笛卡尔集

    两表拼接形成一个笛卡尔集,该拼接表的总记录数为左表的记录数*右表的记录数;

    笛卡尔集

    自连接

    将同一张表,当做两张表来使用,这种查询方式称之为自连接查询;

    子查询

    子查询是指嵌入在其它sql查询语句中的select语句,也叫嵌套查询.

    • 单行子查询:
      单行子查询是指只返回一行数据的子查询语句;

    • 多行子查询
      多行子查询是指只返回多行数据的子查询语句;

    • 表的内连接和外连接

    内连接:

    内连接实际上就是利用 where 子句对两张(多表)表形成的笛卡尔积进行筛选,我们前面学习的查询都是内连接,也是在开发过程中用的最多的连接查询;
    -内连接的基本语法:

    内连接的第一种语法 内连接的第二种语法

    外连接

    有两大类,一类是左外连接 , 还有一类是右外连接

    左外连接和右外连接的基本语法
    • 如果左侧的表完全显示我们就说是左外连接, 即左边表的所有记录都会显示出来,即使没有和右边的表匹配到对应的数据 。

    • 如果右侧的表完全显示我们就说是右外连接, 即右边表的所有记录都会显示出来,即使没有和左边的表匹配到对应的数据

    完全外连接

    如果我们希望左边的表和右边的表都显示记录,这时可以使用完全外连接,但是非遗憾,mysql不支持完全外连接,我们可通过 union 来实现这个效果

    • 数据类型

    • 整数型


    • 日期时间型


    • 数值型-小数型
      Float:小数
      单精度浮点型:float,范围大约是-3.4E+38到-1.1E-38、0和1.1E-38到3.4E+38
      Decimal:定点型
      语法:decimal(整体的长度,小数位是几位); 如: decimal(10,2);一般用于价格;

    • 数据的增删改查操作

    • 插入数据
      insert into 表名(col1,col2,……) values(val1,val2……); -- 插入指定列
      insert into 表名 values (,,,,); -- 插入所有列
      insert into 表名 values -- 一次插入多行
      (val1,val2……),
      (val1,val2……),
      (val1,val2……);

    • 修改数据
      update 表名 set 字段名=新值,字段名=新值 where条件;

    • 查看数据
      select 字段列表 from 表名 where条件字句 【group by字句 having字句 order by字句 limit 字句】;

    • 删除数据
      delete from 表名 where 条件;

    相关文章

      网友评论

          本文标题:MySQl基础知识

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