• MySQL简单笔记


    MYSQL的概述】

      • 什么是数据库:

    数据库就是一个文件系统,需要通过标准SQL语句才能访问.

      • 常见的数据库:

    MYSQL :开源免费的数据库,小型的数据库.已经被Oracle收购了.MySQL6.x版本也开始收费.

    Oracle :收费的大型数据库.Oracle公司的产品.Oracle收购SUN公司,收购MYSQL.

    DB2 IBM公司的数据库产品,收费的.银行系统中. 

    SQLServerMS公司.收费的中型的数据库. 

    SyBase :已经淡出历史舞台.提供了一个非常专业数据建模的工具PowerDesigner. 

    SQLite : 嵌入式的小型数据库,应用在手机端. 

    Java相关的数据库:MYSQLOracle

      • 关系型数据库:

    数据库中存的实体和实体之间的关系.

      • MYSQL数据库服务器 

    MYSQL的安装和卸载】

      安装和卸载的过程记录下服务器安装的路径和数据文件存放的路径.卸载的时候将这个两个路径下的文件一并都删除掉.

    MYSQLSQL语句】 

      • 什么是SQL 

    SQL:结构化查询语言. 

      • SQL的分类: 

    DDL:数据定义语言. 

        create,alter,drop... 

    DML:数据操纵语言 

        insert,delete,update 

    DCL:数据控制语言 

        if,grant 

    DQL:数据查询语言. 

        Select

    使用SQL完成对数据库的CRUD的操作:

    【创建数据库】

    语法:

        * create database 数据库名;

        * create database 数据库名 character set 字符集;

        * create database 数据库名 character set 字符集 collate 校对规则; 

    【查看数据库】 

    * 查看数据库服务器中的所有的数据库:show databases; 

    * 查看某个数据库的定义的信息:show create database 数据库名; 

    【删除数据库】 

      * drop database 数据库名称; 

    【修改数据库】 

      * alter database 数据库名 character set 字符集 collate 校对规则; 

    【其他的数据库操作命令】 

    * 切换数据库:use 数据库名; 

    * 查看正在使用的数据库:select database(); 

    CRUD操作同其他数据库一样,这里就不介绍了 

    【外键约束】 

    多个表之间是有关系的,那么关系靠谁来维护

    多表约束:外键约束

    alter table product add foreign key (cno) references category(cid); 

    【多表的关系】 

      • 一对多关系: 

    客户和订单,分类和商品,部门和员工

    一对多建表原则:在多的一方创建一个字段,字段作为外键指向一的一方的主键.

      • 多对多关系: 

    学生和课程

    多对多关系建表原则:需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一方的主键. 

      • 一对一关系: 

    在实际的开发中应用不多.因为一对一可以创建成一张表. 

    两种建表原则: 

      唯一外键对应:假设一对一是一个一对多的关系,在多的一方创建一个外键指向一的一方的主键,将外键设置为unique. 

      主键对应:让一对一的双方的主键进行建立关系.

     

     -----------------------------------------------------------------华丽的分割线-------------------------------------------------------------------------

     

    操作表:
      创建表
        格式:
          create table 表名(字段描述,字段描述);
          字段描述:
          字段名称 字段类型 [约束]
          例如:
            create table user(
              id int primary key auto_increment,
              username varchar(20)
             );

             create table user1(
              id int primary key auto_increment,
              username varchar(20)
              );
       修改表
        格式:
          alter table 表名 ....
            修改表名:
              alter table 旧表名 rename to 新表名;
              例如:
                alter table user1 rename to user10;
            添加字段:
              alter table 表名 add [column] 字段描述;
              例如:
                alter table user add password varchar(20);
            修改字段名:
              alter table 表名 change 字段名称 新字段描述;
              例如:
                alter table user change password pwd varchar(20);
            修改字段描述:
            alter table 表名 modify 字段名称 字段类型 [约束];
              例如:
                alter table user modify pwd int;
            删除字段:
              alter table 表名 drop 字段名;
              例如:
                alter table user drop pwd;

            删除表:
              格式:
                drop table 表名;

            常用命令:
                切换或者进入数据库: use 数据库名称;
                查看当前数据库下所有表: show tables;
                查看表结构:desc 表名;
                查看建表语句:show create table 表名;

     

     

     mysql数据库密码重置

      1. 停止mysql服务器 运行输入services.msc 停止mysql服务
      2. cmd,输入mysqld   --console  --skip-grant-tables 启动服务器,出现一下页面,不要关闭该窗口
      3. 新打开cmd,输入mysql -uroot  不需要密码
      4. use mysql;
      5. update user set password=password('abc') WHERE User='root';

      6.   关闭两个cmd窗口

  • 相关阅读:
    Spark2.3(三十六):根据appName验证某个app是否在运行
    Spark2.3(三十五)Spark Structured Streaming源代码剖析(从CSDN和Github中看到别人分析的源代码的文章值得收藏)
    Spark:实现行转列
    Spark2.3(三十四):Spark Structured Streaming之withWaterMark和windows窗口是否可以实现最近一小时统计
    Spark2.2(三十三):Spark Streaming和Spark Structured Streaming更新broadcast总结(一)
    Centos7:Failed to start LSB: Bring up/down networking
    CDH:cdh5环境搭建
    CDH:cdh5环境mkdir: Permission denied: user=root, access=WRITE, inode="/user":hdfs:hadoop:drwxr-xr-x
    Spark2.2+ES6.4.2(三十二):ES API之index的create/update/delete/open/close(创建index时设置setting,并创建index后根据avro模板动态设置index的mapping)
    Spark2.2+ES6.4.2(三十一):Spark下生成测试数据,并在Spark环境下使用BulkProcessor将测试数据入库到ES
  • 原文地址:https://www.cnblogs.com/xujingyang/p/6506584.html
Copyright © 2020-2023  润新知