MYSQL数据库day01

目录

一、上手篇

SQL分类

三大范式:

登录mysql数据库的几种方式

二、操作篇

创建和删除数据库     

创建数据表

SQL通用语法

注释

表操作


一、上手篇

  1. SQL分类

    1. DDL(Data Definition Language)数据定义语言,用来定义数据库对象(数据库、表、字段)
    2. DML(Data Manipulation Language)数据操作语言,用来对数据库表中的数据进行增删改
    3. DQL(Data Query Language)数据查询语言,用来查询数据库中表的记录
    4. DCL(Data Control Language)数据控制语言,用来创建数据库用户、控制数据库访问权限
  2. 三大范式:

    1. 第一范式是数据表中每个字段都是不可再次差分的最小数据单元;
    2. 第二范式是确保数据表中除了主键之外的每个字段都必须依赖主键;
    3. 第三范式是在第二范式的基础上,确保数据表中的每一列都和主键字段直接相关;也就是要求数据表中的所有非主键字段不能依赖与其他非主键字段。反范式化:提升数据库的读性能,通过在数据表中增加冗余字段。
  3. 登录mysql数据库的几种方式

    1. 通过mysql自带的客户端,MySQL 5.5 Command Line Client(不推荐)注意这种登录方式,只适用于root用户,不够灵活!(只适合于root用户登录,只限于root用户,以后我们可能还有很多其他的用户,那其他用户就无法用这种方式登录了,所以这种方式登录mysql数据库有局限性),所以不推荐使用这种方式登录mysql数据库。 

    2. 使用windows的dos命令窗口,使用mysql命令 (推荐

      1. 此方法需配置PATH环境变量

        1. 右键计算机点击“属性

        2. 找到"高级设置",点击“环境变量

        3. 在系统变量中,双击“PATH”进入

        4. 找到Mysql文件(目录需要根据大家各自下载地址

        5. 将此目录地址添加到PATH中,点击“确定”即可

      2. win + r 打开 cmd

      3. 窗口中输入命令   mysql -h localhost -P 3306 -u root -proot

        1. 最前面的mysql你可以理解成一个关键字或者理解成一个固定的命令,是固定写法,类似于java、jdk中的javac命令或java命令

        2. -h表示host,即主机的ip地址

        3. -P表示port,端口,mysql数据库的默认端口是3306,当然啦,你可以自己改端口号,我这里没改端口号(注意:这是大写的字母P)

        4. -u表示user用户名

        5. -p表示password密码(注意:这是小写的字母p)

          下面说说mysql这个命令的注意事项:

          大写的P表示端口号,小写的p表示密码,-p和密码之间一定不能有空格,其他的像-u,-h,-P之类的,是可以有空格的,也可以没有空格

          注意:如果是本机的话,主机ip和端口号可以不写(即主机ip和端口号可以省略),直接写成mysql -u root -proot

          如果是本机,但是端口号你改成了其他的端口号,不是默认的3306了,比如你把端口号改成了6688,那你就加上端口号,即mysql -P 6688 -u root -proot

二、操作篇

  1. 创建和删除数据库     

    1. DROP DATABASE 数据库名;(删除数据库)
    2. CREATE DATABASE 命名;(创建数据库)
    3. SELECT DATABASE();(查询当前数据库,注意:括号不能丢
    4. SHOW DATABASES;(查看当前MySQL中存在的数据库,注意:分号不要丢
    5. USE 数据库名;(使用某数据库)
    6. 进入MySQL自带客户端输入登陆密码(如下)

  2. 创建数据表

    1. (首先指定到某个数据库中(use 数据库名;)再进行建表)
    2. 创建空数据表
      1. 语法格式:CREATE TABLE 表名(字段,数据类型 [ 值 ] ,)
      2. 实例:先创建goods数据库,再创建boys表;
        1. 每一点回车结束
          1. use goods;
          2. create table boys(
          3. -->id int primary key, 
          4. -->name varchar(100)
          5. );
        2. 查看表结构:describe/desc 表名;
        3. create database 数据库 default charset 字符集;(如:create database Mysql default charset utf8mb4;)
  3. SQL通用语法

    1. SQL语句可单行或多行书写,默认以分号结尾;
    2. SQL语句可以使用空格/缩进来增强语句的可读性;
    3. MYSQL语句不区分大小写,关键字建议用大写。
  4. 注释

    1. ( -- 和 # )单行注释
      1. #注释内容(无空格,MySQL特有)
      2. -- 注释内容(注意:两个短隔号后与注释内容有一个空格)
    2. 多行注释  /*注释内容*/
  5. 表操作

    1. 查询
      1. SHOW TABLES;(查询当前数据库所有表)
      2. DESC 表名;(查询表结构)

      3. SHOW CREATE TABLE 表名;(查询建表语句,其中ENGINE=InnDB表示存储引擎,default charset=utf8为默认字符集)

    2. 创建(上面有提到)

    3. 删除
      1. delete from 表名;(部分删除)
      2. drop table 表名;(完全删除,无法恢复)
      3. truncate table 表名;(清空表,删除内容,释放空间,但不删除定义(保留表的数据结构))

 对比:

  1. drop是DDL语句,删除表结构及所有数据,同时删除表的结构所依赖的约束,触发器,索引;
  2. truncate也是DDL语句,删除的是表中全部的数据,不能选择删除部分数据,不删除表结构;
  3. delete是DML语句,可以选择删除部分数据,也可以删除全部数据;
  4. drop,truncate和不带where子句的delete都会删除表内的数据;
  5. drop,truncate都是DDL语句,执行后会自动提交;
  6. 在执行速度上,drop > truncate > delete;
  7. 在使用drop和truncate时要格外谨慎,虽然可以恢复,但会比delete删除麻烦很多。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值