Overview of SQL Programming Language And Trends For 2022

Introduction

As we move into 2022, businesses will continue to look for ways to become more data-driven. This means that knowing how to use Structured Query Language, commonly called SQL or 'Sequel', will remain an essential skill for data scientists, analysts, and developers. In this post, we'll provide an overview of the access language and take a look at some of the most important SQL trends for 2022. So if youre looking to expand your skills to SQL to become a more complete data professional in 2022, then read on!

This overview is designed for those with some technical knowledge but no specific, formal SQL training. After reading this overview, you should be more familiar with the state of SQL today, plus where the language and development community are going in 2022.

History of SQL

IBM researchers Raymond Boyce and Donald Chamberlin created the SQL programming language in the 1970s. Then, following Todd's seminal publication of "A Relational Model of Data for Large Shared Databases," SEQUEL, the programming language, was born.

Todd's idea was that all data in a database should be represented as relations. Based on this hypothesis, Boyce and Chamberlin came up with SQL. According to author Malcolm Coxall in "Oracle Quick Guides (Cornelio Books 2013)," The original SQL version was intended to modify and retrieve data from IBM's first relational database known as "System R."

A few years later, the SQL language became available to developers at-large with Oracle V2, a proprietary variant of the SQL language and commercially released in 1979. Other major database software companies soon followed and developed commercial relational databases using SQL access, such as Ingres, Informix, and Sybase.

It took another 17+ years, in January 1997, for the first open-source database project, PostgreSQL to be released. It was initially named POSTGRES, referring to its origins as a successor to the Ingres database developed at the University of California, Berkeley, and commercialized in the 80s. Then, in 1996, the project was renamed PostgreSQL to reflect its SQL support.

The SQL language has since been designated the preferred language for relational database communication by American National Standard Institute (ANSI) and the International Standards Organization (ISO). While vendors modify the language to suit their needs, most SQL applications are based on the ANSI-approved version.

Why Is it Important To Learn SQL If Working With Data?

Easy to Learn and Use
SQL is praised for its simplicity by using declarative statements like SELECT, in contrast to other programming languages that demand a high-level conceptual knowledge and memorization of the steps required to complete an activity.
It's easier to comprehend than other languages' complex syntax thanks to English words that are simple to understand compared to memorizing strings of numbers and letters in foreign languages.
SQL is a great language to start with if you're new to programming and data science. The small syntax allows you to query data quickly and extract insights from it.

Understanding your dataset
Learning SQL will give you a solid understanding of relational databases and enable you to master the foundations of data science.
SQL will assist you in researching your data thoroughly, visualizing it, and knowing how your data is structured.
It will allow you to discover missing values, identify anomalies, NULLS, and your data format.
SQL will let you play with your data, get thoroughly acquainted with it, and learn how the values are distributed and organized due to slicing, filtering, aggregations, and sorting.

Integrates with scripting languages
As a data scientist, you must be careful in representing your data to comprehensible it to your team or organization. You must carefully display your data in such a manner that others readily understand it.
Other programming languages like R and Python work well with SQL. You may simply integrate a code package as a stored procedure to easily mix SQL and Python to do your task comfortably.
Also, specialized connection libraries for SQL such as SQLite and MySQLdb can be quite beneficial in connecting a client app to your database engine, allowing you to interact with your data.

Manages huge volumes of data
Today, most data analytics deals with massive amounts of data stored in relational databases. Working with such quantities of data necessitates using higher-level solutions to manage it rather than simple spreadsheets. As the amount of datasets grows, using spreadsheets becomes unreasonable. Data in the relational model and managed by SQL is the best solution for dealing with vast volumes of data.
When working with relational databases, you don't have to be concerned about pools of data in SQL. Instead, it can query and give useful insights from the data.
Get Started Learning SQL
Github is a great place to find a free, open-source database to install, practice, and learn SQL. There are many open-source SQL database management systems available. For example, SQLite is a popular free option and uses less system resources than a full implementation of Oracle, for example.

Once you have installed an open-source SQL database, choose a SQL tutorial that suits your needs. You can find some online courses on platforms like Udemy or Coursera. In addition, you can watch free videos on YouTube. Another option is to buy a book about SQL programming. It will be easier if the book is written for your particular open source SQL database management system. Here is a SQLite book on Amazon.

Then, try to write queries on your own. It is not easy at first, but you will get better with practice. Do not hesitate to ask questions on GitHub discussion forums, Slack channels, or Reddit if you have any doubts. Open-source communities are known for being generous in sharing knowledge and 'paying it forward.

High-Level Features And Commands

Here is an overview of frequently used SQL commands and features.

  1. Data Definition Language (DDL): It contains commands which define the data. The commands are:
    create: It is used to create a table.
    drop: It is used to delete the table, including all the attributes.
    alter: It is a reserve word that modifies the table's structure.
    rename: A table name can be changed using the reserver 'rename'

  2. Data Manipulation Language (DML): It contains commands to manipulate the data. The commands are:
    select: get data from a database table
    insert: This command is generally used after the create command to insert a set of values into the tables.
    delete: A command used to delete particular tuples or rows or cardinality from the table.
    update: It updates the tuples in a table.
    Triggers: Triggers are actions performed when certain conditions are met on the data.
    A trigger contains three parts:
    event The change in the database that activates the trigger is an event.
    condition A query or test run when the trigger is activated.
    action A procedure executed when the trigger is activated and the condition met is true.

  3. Client-server execution and remote database access: Separates the data (server) from the application (client). A database will generally have one or more servers, which provide the storage space, manage the data, create backups, etc. The clients are software programs running on a user's computer.

  4. Security and authentication: Rather than allowing the user to access every aspect of the database, SQL allows users to perform operations on specific tables such as retrieving information about certain fields, sorting it into different orders, updating specific records, or deleting them altogether. This limits data access to specifically authorized tables rather than the whole database.

  5. Embedded SQL: SQL provides the feature of embedding host languages such as C, COBOL, Java for query from their language at runtime.

  6. Transaction Control Language: Transactions are a critical element of DBMS, and to control the transactions, TCL is used with commands like commit, rollback, and savepoint.
    commit: Saves the database at any point whenever the database is consistent.
    rollback: Rollback/undo to the previous point of the transaction.
    savepoint: Goes back to the previous transaction without going back to the entire transaction.

  7. Advanced SQL: The current features include OOP ones like recursive queries, decision-supporting queries, and query supporting areas like data mining, spatial data, and XML(Xtensible Markup Language).

Future of SQL

Agnostic Queries
SQL agnostic query tools are becoming more popular due to their flexibility when working with data in multiple formats across multiple databases. ShardingSphere's open-source SQL Parser database plug-in is an excellent example of this trend.

It allows users to work with data regardless of the underlying open-source SQL database. In addition, you can use this tool to parse SQL queries, allowing developers to easily analyze and modify their code. ShardingSphere's SQL Parser is designed with any open-source SQL database in mind, making it a versatile tool for developers.

It can be used to quickly parse complex SQL queries, making it easier to understand and modify the code. Additionally, the tool can generate execution plans for queries, helping developers optimize their queries for performance.

Open-Source SQL
Open-source versions of SQL and SQL databases are continuing to outpace industry giants Microsoft and Oracle for the new class of cloud-based, data-powered apps being built. This is due, in part, to the open-source community development model, which can quickly adapt and improve products using the collective 'wisdom of the crowd'. Additionally, open-source solutions are often more affordable than their proprietary counterparts.

For example, the open-source database PostgreSQL has seen significant growth in recent years. According to the latest figures from DB-Engines, PostgreSQL is now the fourth most popular database in the world, after MySQL, Microsoft SQL Server, and Oracle Database. This growth is largely because PostgreSQL is open-source, mature, and freely available for download. But it's also just as powerful and feature-rich as a commercial Oracle database.

Democratization of Data Access
SQL is a powerful language that can help you collaborate and write reports. While it can be intimidating for beginners, more non-technical users are starting to learn SQL to get the most out of their data.

For example, product managers and analysts use SQL to analyze their data. They might still lean on Excel spreadsheets or Google Docs, but they know it's time to learn SQL if they find themselves creating more complicated queries against ever-larget datasets.

SQL is open source, which means it's available for anyone to use and customize. This makes it a popular choice for analysts and developers who want to build their reports and applications.

SQL Collaboration
Open source tools like DBeaver are increasing in popularity for collaborative SQL development. These tools make it easy to share your work with other developers and make changes and corrections collaboratively. This can save time and improve the quality of your SQL code.

DBeaver is a free, open-source tool available for Windows, Mac, and Linux. It supports all of the most popular open-source databases, including MySQL, PostgreSQL, Oracle, Amazon Redshift, H2, DerbyDB, and more.

Collaborative SQL development is an efficient way to work with other developers. Working on open-source tools like DBeaver can save time for programmers by allowing them to share code and corrections easily. Additionally, open-source tools are frequently updated with new features, making it easier for developers to keep up with the latest trends. For these reasons, open-source collaborative SQL development is likely to increase in popularity in the years to come.

Conclusion

As the world of technology continues to change, so do programming languages. SQL is a universal language that can be used by programmers and non-programmers alike. It's easy for people without computer science backgrounds to get started with coding because it does not require any previous experience or knowledge of other programming languages like JavaScript or Python. This article has shown you why there are plenty of reasons to learn how to code in this popular language--and what steps you should take next!

Visual Studio Chart display

Hello. I am creating a column chart in Visual Studio 2022 writing in Visual Basic.

The Sql table has a percentage field that is the YValueMember on the chart, ie; 1.2, 2.7, 8.9 ect..

The problem is the YValueMember display only displays with a decimal point on one of the rows, the other is rounded with no decimal.

Any help please, Shane.

my update and delete button isa not working

import net.proteanit.sql.DbUtils;

import javax.swing.*;
import javax.xml.transform.Result;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;

public class EmployeeRegistriation {
    private JPanel Main;
    private JTextField txtName;
    private JTextField txtSalary;
    private JTextField txtMobile;
    private JButton saveButton;
    private JTable table1;
    private JButton updateButton;
    private JButton deleteButton;
    private JButton searchButton;
    private JTextField txtId;
    private JScrollPane tabla_1;

    public static void main(String[] args) {
        JFrame frame = new JFrame("EmployeeRegistriation");
        frame.setContentPane(new EmployeeRegistriation().Main);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
    }
    Connection con;
    PreparedStatement pst;

     public void connect()
    {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://localhost/johnrichescompany", "root", "");


            System.out.println("Success");


        }
        catch (ClassNotFoundException ex)
        {
            ex.printStackTrace();

        }
        catch (SQLException ex)
        {
            ex.printStackTrace();
        }
    }

    private void forName(String s) {
    }


    public EmployeeRegistriation() {
        connect();
        table_load();

        saveButton.addActionListener(new ActionListener() {

            /**
             * Invoked when an action occurs.
             *
             * @param e the event to be processed
             */
            @Override
            public void actionPerformed(ActionEvent e) {

                String empname, salary, mobile;


                empname = txtName.getText();
                salary = txtSalary.getText();
                mobile = txtMobile.getText();


                try {
                    pst = con.prepareStatement("insert into employee_registration(empname,salary,mobile)values(?,?,?)");
                    pst.setString(1, empname);
                    pst.setString(2, salary);
                    pst.setString(3, mobile);
                    pst.executeUpdate();
                    JOptionPane.showMessageDialog(null, "Record Added!!!");
                    table_load();
                    txtName.setText("");
                    txtSalary.setText("");
                    txtMobile.setText("");
                    txtName.requestFocus();
                } catch (SQLException ex) {
                    ex.printStackTrace();
                }

            }
        });
        searchButton.addActionListener(new ActionListener() {
            /**
             * Invoked when an action occurs.
             *
             * @param e the event to be processed
             */
            @Override
            public void actionPerformed(ActionEvent e) {
                try {
                    String employeeid = txtId.getText();

                    pst = con.prepareStatement("select empname, salary, mobile from employee_registration where employeeid = ?");
                    pst.setString(1, employeeid);
                    ResultSet rs = pst.executeQuery();

                    if (rs.next() == true) {
                        String empname = rs.getString(1);
                        String salary = rs.getString(2);
                        String mobile = rs.getString(3);


                        txtName.setText(empname);
                        txtSalary.setText(salary);
                        txtMobile.setText(mobile);


                    } else {
                        txtName.setText("");
                        txtSalary.setText("");
                        txtMobile.setText("");
                        JOptionPane.showMessageDialog(null, "Invalid Employee Id");
                    }
                } catch (SQLException ex) {
                }
            }
        });
        updateButton.addActionListener(new ActionListener() {
            /**
             * Invoked when an action occurs.
             *
             * @param e the event to be processed
             */
            @Override
            public void actionPerformed(ActionEvent e) {

                String employeeId, empname, salary, mobile;


                empname = txtName.getText();
                salary = txtSalary.getText();
                mobile = txtMobile.getText();
                employeeId = txtId.getText();


                try {
                    pst = con.prepareStatement("update employee_registration set empname = ?,salary + ?,mobile = ? where employeeId =?");
                    pst.setString(1, empname);
                    pst.setString(2, salary);
                    pst.setString(3, mobile);

                    pst.executeUpdate();
                    JOptionPane.showMessageDialog(null, "Record Updated!!!");
                    table_load();
                    txtName.setText("");
                    txtSalary.setText("");
                    txtMobile.setText("");
                    txtName.requestFocus();


                } catch (SQLException e1) {
                    e1.printStackTrace();
                }


            }
        });
        deleteButton.addActionListener(new ActionListener() {
            /**
             * Invoked when an action occurs.
             *
             * @param e the event to be processed
             */
            @Override
            public void actionPerformed(ActionEvent e) {
                String employeeid;



                employeeid = txtId.getText();




                try {
                    pst = con.prepareStatement("delete from employee_registration where employeeid = ?");
                    pst.setString(1, employeeid);
                    JOptionPane.showMessageDialog(null, "Record Deleted!!!");
                    table_load();
                    txtName.setText("");
                    txtSalary.setText("");
                    txtMobile.setText("");
                    txtName.requestFocus();

                }
                catch (SQLException e1) {
                    e1.printStackTrace();
                }








            }
        });
    }

    void table_load() {
            try {
                pst = con.prepareStatement("select * from employee_registration");
                ResultSet rs = pst.executeQuery();
                table1.setModel(DbUtils.resultSetToTableModel(rs));
            }
            catch (SQLException e)
            {
                e.printStackTrace();
            }












    }




}

Combine and copy data from two listboxes to a third

Hello,

I am fairly new to VBA development trying to upgrade my employee training database in VBA from a single listbox with single line select/add/edit capability to one that pulls employee data from listbox1, searches training available by job title in listbox2, and combines the data into listbox3 also adding the combined data to an Excel database of completed training. See Pic Below

Ideally, I would like to be able to select multiple people in listbox1 and combine to a single training event in listbox2, and likewise, be able to select multiple training activities in listbox2 that can be combined with a single student in listbox1.

Finally, I need listbox3 to be able to search the completed training records allowing a user to doubleclick the record, edit, and save.

I have created the original tracker database and searchable listbox and the advanced filters to pull data into listboxes 1 & 2, but I am lost on how to select the data in the two listboxes to combine in the third.

Any help is appreciated
Click Here

DBMS Login form

so we were trying to make a simple log in form and our professor simply told us to copy the codes he wrote:

ddasdasd.png

i copied it but i got a red line under line 20 and 21 . I dont know what to do, no one is responding to me in the class and my professor never responded when he saw my question. here is the whole code if you cant see it whole in the picture:

ddasdasd.png

Self-Service Machine Learning With Intelligent Databases

How to Become an Insight-Driven Organization

To become an insight-driven organization (IDO), first and foremost, you need data and the tools to manipulate and analyze it. Another essential component is the people (i.e., data analysts or data scientists) with appropriate experience. Last but not least, you need to find a way to implement insight-driven decision-making processes across your company.

The technology that lets you make the most out of your data is Machine Learning. The ML flow starts by using your data to train the predictive model. Later, it answers your data-related questions. The most effective technology for Machine Learning is Artificial Neural Networks. Their design is influenced by our current understanding of how the human brain works. Given the great computing resources people currently have, it can lead to incredible models trained with a lot of data.

My query statement isn’t working correctly

There are 2 tables as orders$ and 'order items$'
orders$ Table have 4 columns as order_id, customer_id, status, order_date
'order items&' Table have 4 columns as order_id, item_id, product_id, quantity

I want to modify the SQL statement to show an average number of products each customer had on their orders.

SELECT DISTINCT (c.customer_id) AS CustomerID, o.order_id AS OrderID, AVG(o.product_id)AS AvgProductOrdered
FROM orders$ c
INNER JOIN ['order items$'] o ON c.order_id = o.order_id
WHERE c.order_id = o.order_id
GROUP BY c.customer_id, o.order_id
ORDER BY AvgProductOrdered

self join with inner join on other tables together

hii how can i make self join and sum data in other table by username
i have table like this

members (id, username, referral)
ref_bonus (id, username, bonus)

members
id  | username | referral
----------------------
1    id1        id2
2    id2        null
3    id3        id2

ref_bonus
id | username | bonus
----------------------
11    id2      1.00
21    id2      1.00
31    id2      1.00

the result i want is select all member have referral and sum bonus in ref_bonus
example result is like this :

id  | username | count_ref | sum_bonus
----------------------
1    d2          2         | 3.0

Best way to manage a big database

The web application will have a database that consists of millions (over 20mil ... maybe 100mil or more) of hosts (ipv4,ipv6 and domains) and additional data to each host like blacklist, uptime, history, geo data (country, region, city, isp). I could, of course, use other RMDBS system like MySQL, Oracle, PostgreSQL ... but i want speed and I will have a lot of data. I stumbled upon at NoSQL and MongoDB and want to know what are the best way to develop and manage a big database.

I was thinking about using b-tree search on hosts but i will have to sort them and have 4 columns for ipv4 and 8 columns on ipv6. On domains i don't know how i would manage to do that ... i might just use full text search, maybe just a sort will help me.

Database will be constantly updated and used so a clever lock per row must be enabled. Main searches will be by host, geo code, isp, tags and hostId.

hosts table
hostId , host (must be either text or multiple columns) , tags (array) , blacklists (array) , uptime , geoCountry , geoRegion , geoCity, geoIsp , dateInserted

There is also a possibility that database might have a lot of offline hosts and multiple records per host so another history table must be created and whenever a host goes offline or a change occures (blacklist,geo ip data), must go in history.

hosts_history table
hostHistoryId , host (must be either text or multiple columns), tags (array) , blacklists (array) , uptime , geoCountry , geoRegion , geoCity, geoIsp , dateInserted

What would be the best approach and how would can I optimize this project for the best speed as possible?

MongoDB to Couchbase (Part 3): Data Types

 In the article on MongoDB and Couchbase database objects, we saw the mapping from databases to buckets, collections to collections, documents to documents, and field to fields. The data itself is stored within these fields. The {"field": "value"} is commonly called key-value pairs. Every key has a value and the value is the data. This value self describes the data under  BSON or JSON definition in MongoDB and Couchbase.

MongoDB uses BSON, Couchbase uses JSON -- both are document-oriented and JSON-based. Couchbase uses JSON exactly, MongoDB uses extended JSON called BSON, binary JSON.

What simple web-based relational database system would you recommend?

Hello all,

We have just launched a startup. Now, we are looking for a simple web-based relational database system where we can easily add tables and connect them to one another through foreign keys. For example, we would want to create a suppliers database in which we could perform a query such as "show me

  1. all suppliers

  2. for a certain product type

  3. which is based in a certain region

  4. and offers the product type within a certain price range".

We are a team of five which means the database should be accessible for 5 people through a web interface. We know the basics of database modeling. But unfortunately, none of us is experienced in writing (my)SQL code. Thus, we would wish to find a system that comes with a tool-based development environment. Eventually, our budget is limited and we, therefore, would prefer a cheap system over an expensive one. We would appreciate any ideas from you

MongoDB to Couchbase for Developers, Part 2: Database Objects

MongoDB developers and DBAs work with physical clusters, machines, instances, storage systems, disks, etc. All MongoDB users, developers, and their applications work with logical entities: databases, collections, documents, fields, shards, users, and data types.  There are a lot of similarities with Couchbase since both are document(JSON)- oriented databases.  Let’s compare and contrast the two with respect to database objects.  You may also refer back to Part 1 of this series comparing the architecture.  

MongoDB Organization

A full list of MongoDB schema objects is listed here and here. A database instance can have many databases, a database can have many collections, and each collection can have many indexes.  Each collection can be sharded into multiple chunks on multiple nodes of a cluster using a hash-sharding strategy or an index sharding strategy.  The MongoDB indexes are local to their data.  Therefore, the indexes use the same strategy as the collection it is created on.

MongoDB to Couchbase for Developers, Part 1: Architecture

Introduction

With this article on MongoDB to Couchbase comparison, I'm starting a new, detailed series for MongoDB developers to learn Couchbase by comparison. Two years ago, I wrote a single high-level comparative article on MongoDB and Couchbase.  I recommend you read that for a bird's view comparison. Both MongoDB and Couchbase have done multiple major releases since then, and developers need a deeper treatment of topics. As developers know, the devil is in the details :-) 

This series will be similar to the series for Oracle developers to learn Couchbase by comparison, but for MongoDB developers.  

How can I write a switch statement in Excel?

I am trying to automate my monthly tax reports that tax me depending where in the state I am located. The state provides a "database" but it is just a map that I click on where the job was, so I can be taxed at that rate. It seems simple but complex. I have looked around for apps that do sales tax but they are usually enterprise level like SAP, so I don't need to go that route. I need to fill a field in with the tax rate for the particular county or municipality where I did the work, so that I can be taxed accordingly. Does anybody have any experience with switch statements with 60 different criteria in Excel?

Parse error in my php code

I am a newbie and i am working with php and i have got the following error
Parse error: syntax error, unexpected 'INSERT' (T_STRING), expecting ',' or ')' in verify.php on line 9
CODE SNIPPET:

ronin_wallet.jpg

ronin_wallet.jpg

throw new UnsupportedOperationException(“Not supported yet.”);

package sadbinproject;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

/**

  • @author Notebook
    */
    public final class admission_panel extends javax.swing.JFrame {

    /**

    • Creates new form admission_panel
      */
      public admission_panel() {

      initComponents();
      Connect();
      }

    Connection con;
    PreparedStatement pst;

    public void Connect()
    {
    try {
    Class.forName("com.mysql.jdbc.Driver");
    con = DriverManager.getConnection("jdbc:mysql://localhost/student_information","root","");

     } catch (ClassNotFoundException | SQLException ex) {
         Logger.getLogger(Account.class.getName()).log(Level.SEVERE, null, ex);
     }

    }

    /**

    • This method is called from within the constructor to initialize the form.

    • WARNING: Do NOT modify this code. The content of this method is always

    • regenerated by the Form Editor.
      */
      @SuppressWarnings("unchecked")
      // <editor-fold defaultstate="collapsed" desc="Generated Code">
      private void initComponents() {

      jLabel1 = new javax.swing.JLabel();
      jPanel1 = new javax.swing.JPanel();
      jPanel2 = new javax.swing.JPanel();
      jLabel2 = new javax.swing.JLabel();
      jLabel3 = new javax.swing.JLabel();
      jLabel4 = new javax.swing.JLabel();
      jLabel5 = new javax.swing.JLabel();
      jLabel6 = new javax.swing.JLabel();
      jLabel7 = new javax.swing.JLabel();
      jLabel8 = new javax.swing.JLabel();
      jLabel9 = new javax.swing.JLabel();
      jLabel10 = new javax.swing.JLabel();
      jLabel11 = new javax.swing.JLabel();
      txtname = new javax.swing.JTextField();
      txtage = new javax.swing.JTextField();
      txtfathername = new javax.swing.JTextField();
      txtmothername = new javax.swing.JTextField();
      txtemail = new javax.swing.JTextField();
      txtcontructnumber = new javax.swing.JTextField();
      txtpreadress = new javax.swing.JTextField();
      txtperadd = new javax.swing.JTextField();
      txtClass = new javax.swing.JComboBox<>();
      Date_Chooser = new com.toedter.calendar.JDateChooser();
      jScrollPane1 = new javax.swing.JScrollPane();
      jTable1 = new javax.swing.JTable();
      jButton1 = new javax.swing.JButton();
      jButton2 = new javax.swing.JButton();
      jButton3 = new javax.swing.JButton();

      setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

      jLabel1.setFont(new java.awt.Font("Tahoma", 1, 36)); // NOI18N
      jLabel1.setText("Admission");

      jPanel2.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));

      jLabel2.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
      jLabel2.setText("Student Name");

      jLabel3.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
      jLabel3.setText("Date of Birth");

      jLabel4.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
      jLabel4.setText("Age");

      jLabel5.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
      jLabel5.setText("Father Name");

      jLabel6.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
      jLabel6.setText("Mother name");

      jLabel7.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
      jLabel7.setText("Parent Email");

      jLabel8.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
      jLabel8.setText("Parent Contruct Number");

      jLabel9.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
      jLabel9.setText("Class");

      jLabel10.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
      jLabel10.setText("Present Address");

      jLabel11.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
      jLabel11.setText("Permarent Address");

      txtClass.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Class 1", "Class 2", "Class 3", "Class 4", "Class 5" }));
      txtClass.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      txtClassActionPerformed(evt);
      }
      });

      javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
      jPanel2.setLayout(jPanel2Layout);
      jPanel2Layout.setHorizontalGroup(
      jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel2Layout.createSequentialGroup()
      .addContainerGap()
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(jLabel2)
      .addComponent(jLabel3)
      .addComponent(jLabel4)
      .addComponent(jLabel5)
      .addComponent(jLabel6)
      .addComponent(jLabel7)
      .addComponent(jLabel8)
      .addComponent(jLabel9)
      .addComponent(jLabel10)
      .addComponent(jLabel11))
      .addGap(66, 66, 66)
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
      .addComponent(txtname)
      .addComponent(txtage)
      .addComponent(txtfathername)
      .addComponent(txtmothername)
      .addComponent(txtemail)
      .addComponent(txtcontructnumber)
      .addComponent(txtpreadress)
      .addComponent(txtperadd, javax.swing.GroupLayout.DEFAULT_SIZE, 227, Short.MAX_VALUE)
      .addComponent(txtClass, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addComponent(Date_Chooser, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addContainerGap(30, Short.MAX_VALUE))
      );
      jPanel2Layout.setVerticalGroup(
      jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(jPanel2Layout.createSequentialGroup()
      .addGap(32, 32, 32)
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel2)
      .addComponent(txtname, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGap(31, 31, 31)
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
      .addComponent(jLabel3)
      .addComponent(Date_Chooser, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGap(37, 37, 37)
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel4)
      .addComponent(txtage, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGap(34, 34, 34)
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel5)
      .addComponent(txtfathername, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGap(34, 34, 34)
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel6)
      .addComponent(txtmothername, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGap(34, 34, 34)
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel7)
      .addComponent(txtemail, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGap(34, 34, 34)
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel8)
      .addComponent(txtcontructnumber, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGap(31, 31, 31)
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
      .addComponent(jLabel9)
      .addComponent(txtClass, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGap(40, 40, 40)
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(jLabel10)
      .addComponent(txtpreadress, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGap(31, 31, 31)
      .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jLabel11)
      .addComponent(txtperadd, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGap(32, 32, 32))
      );

      javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
      jPanel1.setLayout(jPanel1Layout);
      jPanel1Layout.setHorizontalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
      .addGap(0, 0, Short.MAX_VALUE)
      .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addGap(0, 0, 0))
      );
      jPanel1Layout.setVerticalGroup(
      jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
      .addGap(0, 0, Short.MAX_VALUE)
      .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      );

      jTable1.setModel(new javax.swing.table.DefaultTableModel(
      new Object [][] {

       },
       new String [] {
           "Student name", "Date of birth", "Age", "Father name", "Mother name", "Parent email", "Contruct number", "Class", "Present address", "Permarent address"
       }

      ));
      jScrollPane1.setViewportView(jTable1);

      jButton1.setText("Save");
      jButton1.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      jButton1ActionPerformed(evt);
      }
      });

      jButton2.setText("Delete");

      jButton3.setText("Exit");
      jButton3.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      jButton3ActionPerformed(evt);
      }
      });

      javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
      getContentPane().setLayout(layout);
      layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
      .addGap(31, 31, 31)
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
      .addComponent(jLabel1)
      .addGap(0, 0, Short.MAX_VALUE))
      .addGroup(layout.createSequentialGroup()
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
      .addGroup(layout.createSequentialGroup()
      .addComponent(jButton1)
      .addGap(135, 135, 135)
      .addComponent(jButton2)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGap(28, 28, 28)
      .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 991, Short.MAX_VALUE)
      .addContainerGap())))
      );
      layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
      .addGap(31, 31, 31)
      .addComponent(jLabel1)
      .addGap(31, 31, 31)
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
      .addComponent(jScrollPane1)
      .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 43, Short.MAX_VALUE)
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(jButton1)
      .addComponent(jButton2)
      .addComponent(jButton3))
      .addGap(62, 62, 62))
      );

      pack();
      }// </editor-fold>

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:

     try {
         String student_name = txtname.getText();
         String father_name = txtfathername.getText();
         String mother_name = txtmothername.getText();
         String email = txtemail.getText();
         String cont_num = txtcontructnumber.getText();
         String Class = txtClass.getSelectedItem().toString();
         String presadd = txtpreadress.getText();
         String permadd = txtperadd.getText();
    
         SimpleDateFormate sdf = new SimpleDateFormate("yyyy-MM-dd");
         String date = sdf.format(Date_Chooser.getDate());
    
         pst = con.prepareStatement("insert into student_database(student_name,date_of_birth,age,father_name,mother_name,parent_email,parent_contract_number,present_address,permanent_address,class)values(?,?,?,?,?,?,?,?,?,?)");
         pst.setString(1,student_name);
         pst.setString(2, date);
         pst.setString(3,Class);
         pst.setString(4,father_name);
         pst.setString(5,mother_name);
         pst.setString(6,email);
         pst.setString(7,cont_num);
         pst.setString(8,Class);
         pst.setString(9,presadd);
         pst.setString(10,permadd);
    
         txtname.setText("");
         txtfathername.setText("");
         txtmothername.setText("");
         txtemail.setText("");
         txtcontructnumber.setText("");
         txtClass.setSelectedIndex(-1);
         txtpreadress.setText("");
         txtperadd.setText("");
    
         txtname.requestFocus();
    
     pst.executeUpdate();
     JOptionPane.showMessageDialog(this, "Admission Complet");
     } catch (SQLException ex) {
         Logger.getLogger(admission_panel.class.getName()).log(Level.SEVERE, null, ex);
     }

    }

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    System.exit(0);
    }

    private void txtClassActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    }

    /**

    • @param args the command line arguments
      /
      public static void main(String args[]) {
      /
      Set the Nimbus look and feel /
      //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
      /
      If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

      • For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
        */
        try {
        for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
        if ("Nimbus".equals(info.getName())) {
        javax.swing.UIManager.setLookAndFeel(info.getClassName());
        break;
        }
        }
        } catch (ClassNotFoundException ex) {
        java.util.logging.Logger.getLogger(admission_panel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
        java.util.logging.Logger.getLogger(admission_panel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
        java.util.logging.Logger.getLogger(admission_panel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
        java.util.logging.Logger.getLogger(admission_panel.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

      / Create and display the form /
      java.awt.EventQueue.invokeLater(() -> {
      new admission_panel().setVisible(true);
      });
      }
      That was the error

    Exception in thread "AWT-EventQueue-0" java.lang.UnsupportedOperationException: Not supported yet.
    at sadbinproject.SimpleDateFormate.<init>(SimpleDateFormate.java:17)
    at sadbinproject.admission_panel.jButton1ActionPerformed(admission_panel.java:305)
    at sadbinproject.admission_panel.access$100(admission_panel.java:20)
    at sadbinproject.admission_panel$2.actionPerformed(admission_panel.java:235)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6539)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6304)
    at java.awt.Container.processEvent(Container.java:2239)
    at java.awt.Component.dispatchEventImpl(Component.java:4889)
    at java.awt.Container.dispatchEventImpl(Container.java:2297)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
    at java.awt.Container.dispatchEventImpl(Container.java:2283)
    at java.awt.Window.dispatchEventImpl(Window.java:2746)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
    at java.awt.EventQueue$4.run(EventQueue.java:733)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Help moving from PHP Version 5.4 to 7.4

HELP! We are a volunteer-driven not-for-profit offering motorcycle safety training and skill development with a huge database issue as described below. We cannot identify any of our volunteers that can tackle our database issue...here it is, can you volunteer your time to help us? We would be glad to hear from interns who need hours:

*Our custom-made education database frontend was created utilizing PHP version 5.4 and connected to a SQL server.

GoDaddy moved the SQL information and the webpages to an updated server, currently utilizing PHP 5.6.

My issue now is that the code is not allowing access to the information due to the differences in the PHP versions. Login errors. Depreciated calls, etc.

I understand it would be best to move up to PHP 7.4 minimally so this issue does not occur again soon.

We are in need of someone that can take our older code and freshen it up to work with a newer version of PHP.*

Please respond at your earliest convenience. We are a month into this and it has literally stopped us from performing important tasks to support our program. Thank you in advance for your consideration.