• MySQL数据库操作基础


    1.MySQL 是什么?
        1)软件(Software):工具(解决问题)
        2)数据库管理系统(DBMS)
        3)关系型(Relation)数据库管理系统(RDBMS):类似Oracle
         扩展:db-engines(db引擎网站)-----了解一些非关系型数据库(key-value,Document等等)
         网站:www.mysql.com
             www.oracle.com  
             db-engines.com/en/ranking
    
    2.MySQL 应用特点
        1)简单
        2)高效
        3)可靠
        4)...        
    
    3.MySQL 应用场景
           1)WEB站点系统(如:www.mysql.com...)
        2)日志处理系统(输入+存储+处理+输出) MySQL支持一种引擎---MyISM(不支持事务)
        3)数据仓储系统(主从复制架构)
        4)嵌入式系统(MySQL的伸缩性非常强)
             
    4.MySQL 基本网络框架
        1)Client
        2)Server
        3)TCP/IP        
    
    5.MySQL 的登录与退出
        1)登录(控制台) 
            mysql -u root -p
             其中root用户为本机最高权限(u 和root之间可以不需要空格) 
        2)退出  quit 或者 exit        
                c 结束当前命令        
    
    6.MySQL 基本指令的应用
         登录以后可以:
            1)查看登录用户:select user();
                (了解)访问:mysql -u tedu -h 192.168.100.101 -p
            2)显示当前系统mysql端口号:show variables like 'port';
                variables /ˈveərɪəbl/
            
            3)查看mysql的状态信息:status
            4)显示当前系统的存储引擎:show variables like '%storage_engine%';
              显示所有表的编码格式:show variables like '%character%';
              为character_set_server设置指定的字符编码:set character_set_server=utf8;
            5)显示mysql中支持的存储引擎:show engines;
            6)查看系统函数相关的帮助:help functions; 或者使用 ? functions;
            7)查看当前系统的时间日期:select now();
            8)连接字符:select concat('My','S','QL');
            9)忘记指命或这某个单词的拼写,可以使用帮助,如(显示存储引擎): ? show; 指令之后查看帮助即可
        
    面试题:
        1)MySQL中的存储引擎是什么?
            存储引擎:是mysql中负责存储及管理数据的一个服务.
        2)MySQL中的存储引擎有哪些类型,有什么不同?
            我了解的有InnoDB,MyISAM.
            InnoDB:支持事务,一般要保证数据安全(例如完整性,一致性)
            MyISAM:不支持事务,一般用于做日志存储(一般要求的是效率)
        3)MySQL默认端口号?
            3306,Oracle的是1521
            
    7.MySQL 中SQL基本应用(DML,DDL,DCL) ------  DML:操作;  DDL:定义;   DCL:控制
        (1)MySQL数据库相关操作?(创建/查看/使用/删除数据库)
            1)查看当前用户下所有的库:show databases;
            2)查看当前正在使用的数据库select database();
            3)打开/使用test数据库:use test;
            4)创建tedu数据库:create database tedu;
                        或者create database if not exists tedu;不存在就创建tedu数据库
                        或者create database if not exists tedu character set 'utf8'; 指定字符集
                        
            5)查看创建数据库的语法: ? create database;  
            6)查看tedu数据库的格式:show create database tedu;
            7)删除tedu数据库:drop database tedu;
                        或者drop database if exixts tedu;存在就删除tedu数据库
            
        (2)数据中表的操作?
            1)查看当前数据库中有哪些表(前提是要先打开数据库):show tables;
            2)建pet表:
                create table pet (
                    id int primary key auto_increment,name varchar(100) not null, //primary key:主键  auto_increment:自增长(默认从1开始)----(oracle中用序列sequence)    
                    createdTime datetime not null
                )engine=InnoDB;
            3)显示pet表结构:desc pet;
            4)显示pet表的创建语句:show create table pet;
            5)删除表(语法参考 ? drop table)             
                删除pet表:    drop table pet;
                        或者    drop table if exits pet;表存在就删除    
                              
          (3)表中数据的操作:
                  1)插入数据:
                          insert into pet(id,name,createdTime) values (null,'A',now());
                          insert into pet values(null,'B',now());
                          insert into pet(name,createdTime)values('C',now());
                          insert into pet values(null,'D',now()),(null,'E',now());
               
                   2)修改表中数据(update):
                           update pet set name='AA' where id=1;
                   
                   3)删除表中数据(delete):-------(delete是删除表中数据,drop是删除整个表)
                           delete from pet where id=6;
                
                4)查询表中数据(重点掌握mysql中分页查询)
                            select * from pet;  查询pet表中所有数据
                            select username,password from sys_users; 查看sys_users表中指定字段(如:username,password)
                          select * from pet limit 2; 查询pet表中前两行数据
                          select * from pet limit 2,4; 查询从第2条数据之后开始,依次显示4条数据(得到结果为:第3,4,5,6行的记录)
                          select * from pet limit 2 offset 4; 从第5条数据开始显示开始,依次显示2条数据出来(得到结果为:5,6)
                      注:limit n,m 表示从第n条数据之后开始查找,依次查出m条数据
                         limit n ofset m 表示从m条数据开始显示,依次显示n条数据出来.
                          
                      a)现有10条记录,每页最多显示3条,总共有多少页?(Java代码)
                          int rowCount = 10;(从数据库中获取)
                          int pageSize = 3;(业务中定义)
                          int pageCount = rowCount/pageSize;
                          if(rowCount%pageSize != 0){
                              pageCount++;
                          }
                          
                      b)获取第3页的数据?(通过SQL语句实现)
                          select * from pet limit 6,3; //6是通过(3-1)*3得出的结果(要显示的页数-1)*每页几条数据
                    
                    c)对查询结果按照id倒序排序?
                        select * from pet order by id desc limit 6,3;
                        在mysql中例如有limit子句,那么此语句肯定是最后.                       
                                        
    8.MySQL 中source指令应用
        1)登录mysql
        2)执行文件:source d:/ttmswork/day01/test.sql ------window系统
                  source //home/soft01/test.sql ----------linux系统
          说明:使用source指令的时候,可能会出现乱码,解决方案:
                  a)假如文件是utf8编码:
                      step01:设置客户端的编码为utf8: 执行语句:set names utf8;
                    step02:执行source指令,重新导入
                    当客户端查询显示还是乱码时,可以先执行set names gbk;
                    然后再执行查询操作.
        
        
    Tmocat中端口占用解决方案:
        在Tmocat文件夹目录下面的lib文件中启动终端,输入指令:
            ./shutdown.sh
            若提示权限不够,输入指令:
            chmod + *.sh;即可
  • 相关阅读:
    作业1-四则运算题目生成程序
    实验四 决策树算法及应用
    实验三朴素贝叶斯算法及应用
    自定义博客园背景
    机器学习 实验二 K-近邻算法及应用
    机器学习 实验一 感知器及其运用
    实验三 面向对象分析与设计
    实验二 结构化分析与设计
    实验一:软件开发文档与工具的安装与使用
    朴素贝叶斯学习日志——简单案例python计算过程
  • 原文地址:https://www.cnblogs.com/demon09/p/9032926.html
Copyright © 2020-2023  润新知