What is MIME type "application/sql"?

A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.

application/sql designates plain text files that contain Structured Query Language (SQL) commands. These files guide database engines in operations like querying data and modifying database structures.

Files ending with SQL typically use this MIME type. It tells programs to treat the content as executable SQL commands.


The MIME type helps systems and applications choose the right tools for processing and highlighting the SQL syntax. For additional details on SQL, visit SQL - Wikipedia.

Associated file extensions

Usage Examples

HTTP Header

When serving content with this MIME type, set the Content-Type header:


    Content-Type: application/sql    
  

HTML

In HTML, you can specify the MIME type in various elements:


    <a href="file.dat" type="application/sql">Download file</a>    
  

Server-side (Node.js)

Setting the Content-Type header in Node.js:


    const http = require('http');    
    
    http.createServer((req, res) => {    
      res.setHeader('Content-Type', 'application/sql');    
      res.end('Content here');    
    }).listen(3000);    
  

Associated file extensions

FAQs

What is the primary purpose of the application/sql MIME type?

The application/sql MIME type identifies files containing Structured Query Language (SQL) code. It indicates to the operating system or browser that the file acts as a database script, typically used for database migrations, backups, or executing specific queries.

Is it safe to serve application/sql files publicly on a web server?

No, it is generally a major security risk. SQL files often contain sensitive information, such as database schemas, table structures, or actual data dumps. You should configure your server (e.g., Apache or Nginx) to deny access to files with the .sql extension to prevent data leakage.

Why does my browser download .sql files instead of displaying them?

Browsers typically treat the application/ prefix as binary or executable content that requires an external application, prompting a download. If you want the SQL code to display directly in the browser window, you would need to serve the file with a Content-Disposition: inline header or use the text/plain MIME type, though the latter loses the semantic distinction.

How do I configure Apache to block access to SQL files?

To protect your database scripts, add the following rule to your .htaccess or server configuration file: <FilesMatch "\.sql$"> Require all denied </FilesMatch>. This ensures that even if a file exists in the public directory, the server will refuse to serve it to visitors.

What is the difference between application/sql and text/x-sql?

application/sql is the officially registered media type with IANA for SQL content. text/x-sql is a non-standard, experimental type that was commonly used before official standardization. While many modern systems recognize both, application/sql is preferred for compliance with current standards.

How can I open a file with the application/sql content type?

Since SQL files are fundamentally plain text, you can view them using any text editor like Notepad, VS Code, or Sublime Text. To execute the commands contained within, you must import the file into a database management tool like MySQL Workbench, pgAdmin, or interact via a command-line interface.

General FAQ

What is a MIME type?

A MIME (Multipurpose Internet Mail Extensions) type is a standard that indicates the nature and format of a document, file, or assortment of bytes. MIME types are defined and standardized in IETF's RFC 6838.

MIME types are important because they help browsers and servers understand how to process a file. When a browser receives a file from a server, it uses the MIME type to determine how to display or handle the content, whether it's an image to display, a PDF to open in a viewer, or a video to play.

MIME types consist of a type and a subtype, separated by a slash (e.g., text/html, image/jpeg, application/pdf). Some MIME types also include optional parameters.

How do I find the MIME type for a file?

You can check the file extension or use a file identification tool such as file --mime-type on the command line. Many programming languages also provide libraries to detect MIME types.

Why are multiple MIME types listed for one extension?

Different applications and historical conventions may use alternative MIME identifiers for the same kind of file. Showing them all helps ensure compatibility across systems.