8.24数据库笔记

数据库:
    为什么要有数据库, 数据库的优势?
    
    用来存储大量数据的仓库,帮助数据做 持久化 操作 ,
    并且能够高效的管理,和更新数据
    
    大型超市:货架 
         零食,海鲜,日用品,大米白面,酒水
    
关系型数据库: mysql 轻量级 文件  二维表  ,DB2
              oracle 花钱 ,SQLServer(微软的 使用window操作系统) , DB2 ,Sybase
非关系型数据库: redis  基于内存的 dump.rdb
        key-value
         
 都是运行在后台的 服务器 Server , 进程     
          
  mysql是 瑞士的 AB 公司旗下的, 现在属于 Oralce公司的
      5.6.22
    5.7
    8.0 
    
   MYSQL: RDBMS (Relationship Database Management System)
             关系型数据库管理系统, 运行在后台,Server
             安装完了看不见,看服务 ,进程
    
   DB:   Database 数据库     
    
   Table:  表   由横向  和 纵向组成
   
   Record: 一条记录
   
   column: 字段
    
     多个字段组成 一条记录
     多条记录组成 一张表
     多张表 组成数据库
     多个数据库 构成数据库管理系统
     
   1.卸载问题
         |-- 在程序中点击卸载
         |-- 去安装目录删除文件夹
         |-- 去注册表中 删除mysql问及那
                 在cmd 中输入  regedit
 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\Application
 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application

    如果有 就直接删除mysql相关的文件
    如果没有 就直接退出即可

   2.安装问题
   
       用户名: root   
    密码: root
   
       mysql -uroot -p 
    mysql不是内部命令
    
    开始配置环境变量:
     1.找到mysql的安装目录
            C:\Program Files\MySQL\MySQL Server 5.6\bin
    
      粘贴到Path 目录;
    
java程序 就是用来操作数据; 那程序中 用什么来存储,承载数据的?
  1.变量      2. 数组,   3.集合  jvm 内存中
    持久化操作不好   永久保存
    jvm  宕机 ,内存泄露问题
      物理文件
      
      第三方 技术 来存储数据  
      java 

    数据库 和  任何编程语言都没有关系,独立
     SQL语句: Structure Query Language  结构化查询语言
     
    登录命令: 
        mysql -uroot -proot  登录成功 不安全
        mysql -uroot -p  ****  登录成功 安全,  支持 无密码登录
    
    远程登录:
        mysql -h localhost -P 3306 -u root -p root  
        
        例如:mysql -h localhost -P 3306 -uroot -proot
         
         window: 用window 客户端连接服务器
          Linux: ip
         
    基础语句: 
        show databases; 显示当前 数据库管理系统中的 所有数据库
        use 数据库名; 使用指定数据库
        show tables;
        select version();
        desc person; 显示表结构
    
        |-- information_schema 
        |-- mysql              
        |-- performance_schema    
            mysql默认的数据库 ,不需要做任何操作
            
        |-- test 系统提供的测试数据库

        DDL: (Database Definition Language)数据库定义语言
           create database 数据库名;
             例如: create database java2106;
            
            USE 数据库名;
         
          create table student(
             字段名1 数据类型(长度),
             字段名2 数据类型(长度),
             字段名3 数据类型(长度));
          
          例如: 
             create table person(
              pid int,
              pname varchar(22),
              age int ,
              address varchar(22));
         
        删除表:
            drop table person;
        删除数据库:
            drop database java2106;
            
        修改表结构:
        添加字段: alter table person add [column] sex char(1);
        删除字段: alter table person drop [column] sex;
          修改字段类型: alter table person modify [column] age varchar(22)
        修改字段名: alter table person change [column] age 
        
        DML: (Database Manipulation Language) 数据库操纵语言
          添加数据:
             insert into 表名(字段列表) values(值列表);
            例如:
                insert into person(pid,pname,age,address)
                         values(1,'张三',12,'哈尔滨');
                         
    字段列表顺序必须和值列表顺序一致
        insert into person values(2,'李四',22,'北京');         
                         
    允许字段列表乱序:
        insert into person(pname,pid,address,age)
                         values('张三',1,'哈尔滨',12);
    
    批量插入:  测试用
        insert into person(pid,personName,haha,address)
                values(2,'李四',22,'北京'),
                      (3,'王五',22,'北京'),
                      (4,'赵六',22,'北京'),
                      (5,'张飞',22,'北京'),
                      (6,'关羽',22,'北京');

          删除数据:
            慎用:
            delete from 表名;
          
            delete from 表名 where 唯一字段 = 值;
          
        删除有两种形式: 
    记住一定备份    物理删除:  
    多一点:        逻辑删除: 修改状态
            
        id   name  age  address  status
        1    张三  29   哈尔滨      0  正在工作  
            
        update person set status = 1 where id = ?;     
        select * from person where status = 0;
        
        更新数据库:
          update person set 字段 = 新值 where id = ?;
          update person set 字段1 = 新值,字段2 = 新值 where id ——+ ? 

    表复制: 
      复制表结构和 表数据:
        create table student as select * from person;

              
            
            
          
        DQL: (Database Query Language)数据库查询语言
        DCL: (Database Control Language)数据库控制语言
        


      

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值