数据库mysql入门及基本使用

MySQL数据库的介绍
  • 发展史:
    1996年,MySQL 1.0
    2008年 Sun公司收购了MySQL
    2009年4月 Oracle收购Sun公司
  • 名词解释
    数据库:保存有组织的数据的容器(通常是一个文件)。
    表 :某种特定类型数据的结构清单。数据库中的表都有一个名字,用来标识自己,此名字是唯一的。
    列 :表中的一个字段。所有表都是由一个或多个列组成的。数据库中的每个列都有相应的数据类型。数据类型定义列可以存储的数据种类。
    数据类型: 数值、字符串、时间
    行 :表中的数据按行存储的,所保存的每个记录存储在自己的行内。
    SQL:一种专门用来与数据库通信的语言。设计SQL的目的是更有效的读写数据库。·
  • 优点:
    1、SQL不是某个特定数据库专有的语言。几乎所有重要的数据库都支持SQL。
    2、SQL简单易学。。语句全是描述性很强的英文单词组成。
  • 范式:
    1NF:每个属性都不可再分。
    2NF:
    3NF:
  • 数据库的分类:
    关系型(最常用):MySQL、oracle、sqlite
    非关系型:MongoDB、Redis
  • 数据库模型
    关系型数据库就像一个Excel:
    一个Excel相当于一个数据库
    sheet相当于数据库中的一张表
    行,一行代表一条数据 rows
    列,一列数据就代表一个属性。columns列
  • 操作数据库
    1、Windows启动mysql
    net start mysql57 mysql57为你的mysql名字
    2、用命令登录mysql
    mysql -uroot -p
    mysql -h127.0.0.1 -uroot -p
    3、linux启动服务:
    service mysql start
    4、显示MySQL中所有数据库
    show databases;

  • 命令输入在mysql>之后:
    1、命令用;或者\g结束。仅按enter不执行命令
    2、输入help或者\p获取帮助。。比如:help select获取使用select语句的帮助
    3、输入exit或quit命令退出
    4、创建数据库
    create datebase dbname;
    创建数据库的时候指定编码方式utf8
    create datebase dbname charset=utf8;
    5、删除数据库
    drop database dbname;
    6、切换使用的数据库
    use dbname;
    7、查看当前所在的数据库
    select database();
    8、显示库中的所有表
    show tables;
    9、show也可以用来显示列
    show columns from 表名
    另一种方式:
    describe 表名
    describe 是 show columns from 表名 的一种快捷方式

  • 表操作

    • 创建表:
      create table 表名(name char(30),id int primary key auto_increment);
      表名后使用 圆括号去写表中的数据结构
      每个字段用 , 隔开
      字段声明的格式: 字段名 字段类型
      每个表中都必须包含一个 主键。主键是唯一的。主键通常是int类型,在被当做主键的字段后面加 primary key
      主键通常是自增长的:auto_increment,mysql可以自动地为每个行分配下一个编号,不用在添加的时候手动的去分配这个唯一值(记住最后一次使用的值)。这就是自增。如果需要它,必须在create语句创建表时把它作为表定义的组成部分。
    • 数据类型
      tinyint 一般用来存年龄之类的小的整数。其他用int
      char 和varchar的区别:
      使用char传入的数据的长度,小于指定的长度的时候,存储的实际长度,不够的会拿空格来填充
      使用varchar传入的数据的长度,小于指定的长度的时候,存储的实际长度 为传进来的数据长度
      char的执行效率高于varchar varchar相对于char来说更节省存储空间。
      varchar类型在5.0以下的版本中最大长度限制为255.而5.0之上的,varchar数据类型的长度支持到了65525字节.
      知道固定长度的用char
      超过255字符的时候只能用varchar 或者text,能用varchar的时候就不用text
      文本的比较相同的规则:首先比较的是长度,之后才是按位比较。
    • 插入操作
      insert into 语句用于向表中插入一行数据
      语法:
      insert into 表名 values (值1,值2.。。。。)
      我们也可以指定所要插入的列
      insert into 表名(列1,列2。。。。)values (值1,值2,。。。。)
      不管使用哪种insert语法,都必须给出values的正确数目。
      如果不提供列名,则必须给每个列提供一个默认值。
      如果提供列名,则必须对每个列出的列给一个值,否则报错。
      省略列:
      1、在表定义中给出默认值
      2、该列定义为允许NULL值
      insert into student VALUES(1,’green’,18,1,1)

      insert into grade(g_name,g_student_num) values (‘python1804’,55);
      可以在insert 和 into 之间添加一个关键字:low_priority,指示MySQL降低insert的优先级
    • 多条插入
      单条insert语句有多组值,每组值用一对圆括号括起来。用逗号分隔。以提高数据库性能,因为MySQL用单条insert语句处理多个插入 比 使用多条insert语句快。
    • 修改数据
      使用 update 修改表中的数据:
      1、更新表中的特定行
      2、更新表中的所有行
      update语句有3部分组成,分别是:
      • 要更新的表
      • 列名和他们的新值
      • 确定要更新的过滤条件

    语法:update 表名 set 列名称=新的值 where 列名称=某值
    set 命令用来将新值赋给被更新的列
    修改多个字段的值
    只需要使用单个set命令,每个 “列=值”之间用逗号分隔,最后一列不用逗号。
    为了删除某个列的值,可设置它为NULL(允许为null)

    • 删除数据
      使用delete语句,去删除表中的数据
      1、从表中删除特定的行
      2、删所有行

猜你喜欢

转载自blog.csdn.net/baidu_41605403/article/details/81914772