zoukankan      html  css  js  c++  java
  • 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窗口

  • 相关阅读:
    Zookeeper java API
    Zookeeper 安装与配置
    Zookeeper 架构
    HBase 优化
    HBase 与 MapReduce 整合
    Hbase protobuf Java API
    HBase数据库设计
    Fork/Join并发处理框架
    并发容器Map
    Redis缓存穿透、缓存击穿和雪崩
  • 原文地址:https://www.cnblogs.com/xujingyang/p/6506584.html
Copyright © 2011-2022 走看看