能够使用cd切换目录命令,公司收购了 MySQL

2019-07-19 作者:数据库   |   浏览(50)

  这只是我自己的随笔博客~,用于偶尔回忆知识,可能存在一些错误,如有错误,欢迎指正~

一.   遍历目录

  在 linux系统上,可以使用cd切换目录命令。 分二种路径,一是绝对文件路径,另一种是相对文件路径。

  1.  绝对文件路径
    在虚拟目录中采用文件路径,以虚拟目录根目录开始,相当于目录的全名。例如指定usr目录下的bin目录(查看文件路径,使用pwd命令,是一个很好的习惯。该命令可以返回当前工作目录的位置,确保自己处在正确的目录之中)。
    图片 1

  2. 相对文件路径

    经常使用绝对路径的话文件路径太长,可以使用相对文件路径。例如:用绝对文件路径定位到usr下的local目录, 再使用相对文件路径定位到etc下。
    图片 2

    相对文件路径还可以用双点符(..)来表达当前目录的父目录。下面以local目录为演示:
    图片 3

    例如:在etc目录下返回etc上一级目录local(cd ../)
    图片 4

    例如:在etc目录下返回etc上一级目录local下的bin目录(cd ../bin)
    图片 5

    例如:返回两层目录如下
    图片 6

MySQL5.5.40破解版地址(永久有效):链接: 密码:qjjy

主要是参考豆瓣的图书查询接口:

首先对于JDBC连接MySQL,要了解基本的框架结构

二.   查看文件和目录列表

  要想知道系统中有哪些文件,可以使用列表命令(ls), 下面介绍ls命令和可用来格式化输出的选项。

  (ls)最基本的形式会显示当前目录下的文件和目录,如下显示local下的文件和目录
    图片 7

  2.1 使用ls -F

    要区分是文件还是目录除了以不同颜色来区分,还可以使用(ls)的-F命令,如下在proc进程目录下,白色是文件,使用cd 定位到fb中报错, 定位到1目录下OK。
      图片 8图片 9

  2.2  使用ls –a

    使用ls默认是不包括隐藏文件。 隐藏文件用来保存配置信息,通常是文件名以点号开始的文件”.”。如下所示
      图片 10
  2.3 使用 ls –R 

    -R 参数叫作递归选项,它列出了当前目录下包含的子目录中的文件。如果目录很多,输出会很长。

      图片 11
  2.4 使用ls –l

    要显示每个文件的相关信息,使用参数是-l
      图片 12

    相关说明:

    第一列文件类型 比如目录(d),文件(-) 字符型文件(c) 块设备(b)

    第三列文件属主用户名

    第四列文件属组的组名

    第五列文件的大小(字节为单位)

  2.5   过滤输出列表常用的如下
    图片 13

    例1: 简单文件匹配的字符串

     图片 14

     例2: 使用(*)模糊匹配
      图片 15 

第2节 数据库的介绍

图片 16

MySQL:开源免费的数据库,小型的数据库,已经被 Oracle 收购了。 MySQL6.x 版本也开始收费。后来 Sun
公司收购了 MySQL,而 Sun 公司又被 Oracle 收购

返回内容如下:

画的比较烂,大约就是这样的结构

2.1.2 什么是数据库
1) 存储数据的仓库
2) 本质上是一个文件系统,还是以文件的方式存在服务器的电脑上的。
3) 所有的关系型数据库都可以使用通用的 SQL 语句进行管理 DBMS DataBase Management System

图片 17图片 18

然后看一下具体实现的 代码:;

第3节 数据库的安装与卸载

 1 {
 2     "rating": {
 3         "max": 10, 
 4         "numRaters": 361, 
 5         "average": "8.8", 
 6         "min": 0
 7     }, 
 8     "subtitle": "A Handbook of Agile Software Craftsmanship", 
 9     "author": [
10         "Robert C. Martin"
11     ], 
12     "pubdate": "2008-8-11", 
13     "tags": [
14         {
15             "count": 295, 
16             "name": "编程", 
17             "title": "编程"
18         }, 
19         {
20             "count": 257, 
21             "name": "programming", 
22             "title": "programming"
23         }, 
24         {
25             "count": 150, 
26             "name": "软件开发", 
27             "title": "软件开发"
28         }, 
29         {
30             "count": 109, 
31             "name": "程序设计", 
32             "title": "程序设计"
33         }, 
34         {
35             "count": 100, 
36             "name": "计算机", 
37             "title": "计算机"
38         }, 
39         {
40             "count": 87, 
41             "name": "软件工程", 
42             "title": "软件工程"
43         }, 
44         {
45             "count": 66, 
46             "name": "敏捷开发", 
47             "title": "敏捷开发"
48         }, 
49         {
50             "count": 55, 
51             "name": "agile", 
52             "title": "agile"
53         }
54     ], 
55     "origin_title": "", 
56     "image": "https://img3.doubanio.com/view/subject/m/public/s29624974.jpg", 
57     "binding": "Paperback", 
58     "translator": [ ], 
59     "catalog": "", 
60     "pages": "464", 
61     "images": {
62         "small": "https://img3.doubanio.com/view/subject/s/public/s29624974.jpg", 
63         "large": "https://img3.doubanio.com/view/subject/l/public/s29624974.jpg", 
64         "medium": "https://img3.doubanio.com/view/subject/m/public/s29624974.jpg"
65     }, 
66     "alt": "https://book.douban.com/subject/3032825/", 
67     "id": "3032825", 
68     "publisher": "Prentice Hall", 
69     "isbn10": "0132350882", 
70     "isbn13": "9780132350884", 
71     "title": "Clean Code", 
72     "url": "https://api.douban.com/v2/book/3032825", 
73     "alt_title": "", 
74     "author_intro": "Robert C. “Uncle Bob” Martin has been a software professional since 1970 and an international software consultant since 1990. He is founder and president of Object Mentor, Inc., a team of experienced consultants who mentor their clients worldwide in the fields of C  , Java, C#, Ruby, OO, Design Patterns, UML, Agile Methodologies, and eXtreme programming.", 
75     "summary": "Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way.
76 Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship. Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code “on the fly” into a book that will instill within you the values of a software craftsman and make you a better programmer—but only if you work at it.
77 What kind of work will you be doing? You’ll be reading code—lots of code. And you will be challenged to think about what’s right about that code, and what’s wrong with it. More importantly, you will be challenged to reassess your professional values and your commitment to your craft.
78 Clean Code is divided into three parts. The first describes the principles, patterns, and practices of writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up code—of transforming a code base that has some problems into one that is sound and efficient. The third part is the payoff: a single chapter containing a list of heuristics and “smells” gathered while creating the case studies. The result is a knowledge base that describes the way we think when we write, read, and clean code.
79 Readers will come away from this book understanding
80 How to tell the difference between good and bad code
81 How to write good code and how to transform bad code into good code
82 How to create good names, good functions, good objects, and good classes
83 How to format code for maximum readability
84 How to implement complete error handling without obscuring code logic
85 How to unit test and practice test-driven development
86 This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.", 
87     "price": "USD 49.99"
88 }
public class DBUtil {
 private String user = "root";
 private String password = "root";
 private String url = "jdbc:mysql://localhost:3306/mydb6";
 private static DBUtil dbUtil;
 Connection connection = null;

 // 单例:构造方法私有化
 private DBUtil() {

 }

 public synchronized static DBUtil getInstance() {
  if (dbUtil == null) {
   dbUtil = new DBUtil();
  }
  return dbUtil;
 }

 /**
  * 创建数据库连接
  */
 public Connection getConnection() {
  if (connection == null) {
   try {
    // 注册驱动
    Class.forName("com.mysql.jdbc.Driver");
    // 获取连接
    connection = DriverManager.getConnection(url, user, password);
   } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  }
  return connection;
 }
}

安装过程分成两个部分:
1) 文件解压和复制过程,默认的安装目录:图片 19

豆瓣图书查询返回内容

  上面这个是通过单例模式  建立了DBUtil这样一个类。通过这个类可以干什么呢?可以实现----数据库的连接!

2) 安装好以后必须对 MySQL 服务器进行配置
在 mysql 中管理员的名字: root

 

没错,Connection接口的作用就是连接数据库-
与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果。

3.1 数据库的安装

刚才出去拿纱窗了,等晚上设计DB的时候继续更新。

怎样才能得到这个连接呢?--想要建立这个连接,你需要注册一个驱动---嗯~就是这个代码   Class.forName("com.mysql.jdbc.Driver");  

  1. 打开下载的 mysql 安装文件双击解压缩,运行“mysql-5.5.40-win32.msi”

 

它是通过反射的机制来获得的,不了解反射?嗯~那你记住就完了 哈哈哈

图片 20

基于豆瓣API获取的Response信息,所以抽取如下信息:

connection = DriverManager.getConnection(url, user, password);这一句话的是用来获取连接的 ,这三个参数分别是   数据的地址,jdbc:mysql://IP地址:端口号/数据库的名称

 

豆瓣图书API信息
字段名称 豆瓣字段 字段描述
Title title  
SubTitle subtitle  
Authors author  
Translator translator  
ISBN13 isbn13  
ISBN10 isbn10  
AuthorIntro author_intro  
Summary summary  
Publisher publisher  
Binding binding  
OriginTitle origin_title  
Pages pages  
ImageUrl image  
Pubdate pubdate  
Catalog catalog  
Tags tags  

嗯~然年再将一下如何通过jdbc向数据库写入数据

图片 21

 

public int insertStuByStatement() {
        String sql1 = "insert into stu(sname,sage) values('aaa',1)";
        String sql2 = "insert into stu(sname,sage) values('bbb',1)";
        String sql3 = "insert into stu(sname,sage) values('ccc',1)";
        Connection connection = getConnection();// 获得数据库的连接
        Statement stmt = null;
        try {
            stmt = (Statement) connection.createStatement();
            connection.setAutoCommit(false);
            stmt.addBatch(sql1);//批量添加sql语句
            stmt.addBatch(sql2);//批量添加sql语句
            stmt.addBatch(sql3);//批量添加sql语句
            //一次性执行
            stmt.executeBatch();
            connection.commit();
            System.out.println("批处理成功");
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            try {
                if (stmt != null) {
                    stmt.close();
                }
            } catch (Exception e2) {

            }
        }
        return i;
    }
  1. 选择安装类型, 有“Typical(默认) ”、 “Complete(完全) ”、 “Custom(用户自定义) ”三个选项, 选择“Custom” ,
    按“next”键继续

 

这里使用的statement 来实现的,写出你要操作的 sql语句。(提一下,一般这些操作都是放在DBUtil类中的额 ,这个方法我也是放在DBUtil的)。

图片 22

 

第二步:根据上面的定义的方法获取数据库。

  1. 点选“Browse”,手动指定安装目录。

 

下面就是获取一个Statement 对象,然后通过这个对象的stmt.executeBatch();就可以在数据库中执行刚才就的语句了,这样就做到了静态插入数据。

图片 23

 

那动态插入数据是怎样的呢 ?-----那就是用到了另一个能够实现语句的对象PreparedStatement

  1. 填上安装目录,我的是“d:Program Files (x86)MySQLMySQL Server 5.0”,按“OK”继续

 

直接上代码吧 

图片 24

 

public int insertStu(String sname,int sage){
        String sql = "insert into stu(sname,sage) values(?,?)";
        Connection connection = getConnection();//获得数据库的连接
        PreparedStatement ps = null;
        int i = 0;
        try {
            ps  = (PreparedStatement) connection.prepareStatement(sql);
            ps.setString(1, sname);
            ps.setInt(2, sage);

            i=ps.executeUpdate();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            try {
                if (ps!=null) {
                ps.close();
                }
            } catch (Exception e2) {

            }
        }
        return i;
    }
  1. 确认一下先前的设置,如果有误,按“Back”返回重做。按“Install”开始安装。

 

定义的插入方法有了两个参数的数值

图片 25

 

与statement的区别在哪呢?--一个是sql字符串语句的区别,多了“?”,作用是---看下面这两行代码

图片 26

 

 ps.setString(1, sname);
 ps.setInt(2, sage);
 ps.set****(a,b)有两个参数,sql语句中也有两个?,所以参数a,代表的是sql语句的第几个“?”,如果参数是1,则说明sql语句中第一个“?”的位置替换为参数b,
 如果 同理如果参数是2,则说明sql语句中第一个“?”的位置替换为参数b.这样就做到了动态的插入数据,我们只要在调用插入方法的时候传入想要插入的数据就好了,不用每次都写新的sql语句。
 对于 i=ps.executeUpdate();语句,它返回的这次你的数据库操作后有有几条数据有影响.这种方法对于插入,当然是i=1了

但是对于产出和修改的就不是一定了,删除修改我直接贴代码了就不再做讲解

//修改
public int updateStu(int sage,String sname){
        String sql = "updae stu set sage = ? where sname = ?";
        Connection connection = getConnection();
        PreparedStatement ps =null;
        int i  = 0;
        try {
            ps = (PreparedStatement) connection.prepareStatement(sql);
            ps.setInt(1, sage);
            ps.setString(2, sname);

            i  = ps.executeUpdate();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            try {
                if (ps!=null) {
                ps.close();
                }
            } catch (Exception e2) {

            }
        }
        return i;
    }
    //删除
        public int deleteStu(String sname,int sage) {
            String sql = "delete from stu where sname=? and sage = ?";
            Connection conn = getConnection();//获得数据库连接
            PreparedStatement ps = null;
            int i = 0;
            try {
                ps = (PreparedStatement) conn.prepareStatement(sql);
                ps.setString(1, sname);
                ps.setInt(2,sage );

                i = ps.executeUpdate();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally {
                try {
                    if(ps != null)
                        ps.close();
                }catch (Exception e) {
                    // TODO: handle exception
                }
            }
            return i;

        }

图片 27

 

 

图片 28

 

数据库最重要的是什么---查询数据,相对于增删改--查可能稍微繁琐一点
代码如下:

/**
     * 查询所有学生
     * @return
     */
    public ArrayList<Stu> queryStu(){
        String sql = "select * from stu ";// select *  或的字段的顺序和数据库中的是一致
        Connection conn = getConnection();
        PreparedStatement ps = null;
        ResultSet rs = null;
        ArrayList<Stu> stus = new ArrayList<Stu>();//此集合用于存储每一个学生对象
        try {
            ps = (PreparedStatement) conn.prepareStatement(sql);
            rs = ps.executeQuery();
            //遍历rs
            while(rs.next()) {//true表示有下一条数据
                int id = rs.getInt("id");
                String sname = rs.getString("sname");
                int sage = rs.getInt("sage");
                //创建stu对象
                Stu stu = new Stu(id, sname, sage);
                //收集对象
                stus.add(stu);
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            try {
                if(rs != null)
                    rs.close();
                if(ps != null)
                    ps.close();
            }catch (Exception e) {
                // TODO: handle exception
            }
        }

        return stus;
    }

图片 29

 

讲一下重点的地方     ResultSet rs

null;  这个对象存储的一个查询的结果集合。select * from stu这个返回的 应该是查询的学生表中每个学生的所有数据,

所以rs就可以储存这样的一个集合,然后通过遍历得到其中的数据,将数据赋值给一个学生对对象,将对象加入到集合中,就得到可表中所有的数据~

 

这次讲的主要是基础部分,等下次继续探讨JDBC联合其他的一些操作~

Class.forName("com.mysql.jdbc.Driver");
  1. 正在安装中,请稍候,直到出现下面的界面, 则完成 MYSQL 的安装

 

图片 30

 

  1. 安装完成了,出现如下界面将进入 mysql 配置向导。

 

图片 31

 

  1. 选择配置方式, “Detailed Configuration(手动精确配置) ”、 “Standard Configuration(标准配置) ”,我
    们选择“Detailed Configuration”,方便熟悉配置过程。

拆分如上字段出来。

图片 32

 ......

  1. 选择服务器类型, “Developer Machine(开发测试类, mysql 占用很少资源) ”、 “Server Machine(服务
    器类型, mysql 占用较多资源) ”、 “Dedicated MySQL Server Machine(专门的数据库服务器, mysql 占
    用所有可用资源) ”

因为在看世界杯,所以设计有点断断续续的,放出DB的Diagram:

图片 33

图片 34

  1. 选择mysql数据库的大致用途, “Multifunctional Database(通用多功能型,好) ”、 “Transactional
    Database Only(服务器类型,专注于事务处理,一般) ”、 “Non-Transactional Database Only(非事务
    处理型, 较简单, 主要做一些监控、 记数用, 对 MyISAM 数据类型的支持仅限于 non-transactional), 按“Next”
    继续。

 

图片 35

图片 36

图片 37

 

  1. 选择网站并发连接数,同时连接的数目, “Decision Support(DSS)/OLAP( 20个左右) “Online ”、 Transaction
    Processing(OLTP)( 500 个左右) ”、 “Manual Setting(手动设置,自己输一个数) ”。

当前的逻辑应该是没有问题了,现在需要丰富的是DB的内容,以及每条线的发展设计。

图片 38

顺便放出几个Type的Script:

  1. 是否启用 TCP/IP 连接,设定端口,如果不启用,就只能在自己的机器上访问 mysql 数据库了,在这个页
    面上,您还可以选择“启用标准模式”( Enable Strict Mode),这样 MySQL 就不会允许细小的语法错误。
    如果是新手,建议您取消标准模式以减少麻烦。但熟悉 MySQL 以后,尽量使用标准模式,因为它可以降
    低有害数据进入数据库的可能性。按“Next”继续
1 CREATE FUNCTION [core].[Matter#Type] ()
2 RETURNS TABLE
3 WITH SCHEMABINDING, ENCRYPTION
4 AS RETURN
5 (
6     select    1        as        _Book
7     ,         2        as        _ShelfBook
8     ,         4        as        _BookList
9 )

 1 CREATE FUNCTION [core].[Party#Type] ()
 2 RETURNS TABLE
 3 WITH SCHEMABINDING, ENCRYPTION
 4 AS RETURN
 5 (
 6     select    1        as        _Administrator
 7     ,         4        as        _User
 8     ---------------------------------------
 9     ,        16        as        _Shelf
10 )

1 CREATE FUNCTION [base].[BookInfo#Type] ()
2 RETURNS TABLE
3 WITH SCHEMABINDING, ENCRYPTION
4 AS RETURN
5 (
6     select    1        as        _Summary
7     ,         2        as        _Catalog
8     ,         4        as        _AuthorIntro
9 )

图片 39

 

  1. 就是对 mysql 默认数据库语言编码进行设置(重要),一般选 UTF-8,按 “Next”继续。

好的,今天就先到这吧。

图片 40

 

  1. 选择是否将 mysql 安装为 windows 服务, 还可以指定 Service Name(服务标识名称), 是否将 mysql 的 bin
    目录加入到 Windows PATH(加入后, 就可以直接使用 bin 下的文件, 而不用指出目录名, 比如连接,
    “mysql. exe -uusername -ppassword;”就可以了,不用指出 mysql.exe 的完整地址,很方便),我这里全部
    打上了勾, Service Name 不变。按“Next”继续。

图片 41

  1. 询问是否要修改默认 root 用户(超级管理) 的密码。 “Enable root access from remote machines(是否允
    许 root 用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它) ”。最后“Create
    An Anonymous Account(新建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询) ”,
    一般就不用勾了,设置完毕,按“Next”继续。

图片 42

  1. 确认设置无误,按“Execute”使设置生效,即完成 MYSQL 的安装和配置。

图片 43

图片 44

注意: 设置完毕, 按“Finish”后有一个比较常见的错误, 就是不能“Start service”, 一般出现在以前有安装 mysql
的服务器上,解决的办法,先保证以前安装的 mysql 服务器彻底卸载掉了;不行的话,检查是否按上面一步所说,
之前的密码是否有修改,照上面的操作;如果依然不行,将 mysql 安装目录下的 data 文件夹备份,然后删除,在
安装完成后, 将安装生成的 data 文件夹删除, 备份的 data 文件夹移回来, 再重启 mysql 服务就可以了, 这种情况
下,可能需要将数据库检查一下,然后修复一次,防止数据出错。

本文由小鱼儿玄机30码发布于数据库,转载请注明出处:能够使用cd切换目录命令,公司收购了 MySQL

关键词: 小鱼儿玄机30码