MySQL简单笔记

来源:互联网 发布:战舰少女r 知乎 编辑:程序博客网 时间:2024/04/28 02:36
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窗口

0 0