Skip to main content

MySQL Identifiers


            The are five kinds of identifiers that need to be considered in MySQL: databases, tables, columns, indexes and aliases.  Databases, as stated are the containers for the tables and other associated database components. Tables hold the data that is used to produce information.  Columns are the individual entities of the tables that contain the smallest portion of the data.  Indexes in databases refer to the data structures that improve the speed of operations in a table. Aliases are temporary names assigned to database components. The identifiers that can be assigned to each component have their limitations:


 Size - 
             The following table describes the max length each database identifier can be assigned:


Identifier
Maximum Length
Database
64 Bytes
Table
64 Bytes
Column
64 Bytes
Index
64 Bytes
Alias
255 Bytes


     The length of the identifier is in bytes, not characters. The maximum length will depend on the byte count of all the characters used and should be taken into consideration if using multi-byte characters in the identifier names.

Case Sensitivity - 


         In MySQL, databases correspond to directories within the data directory. Each table within a database corresponds to at least one file within the database directory (and possibly more, depending on the storage engine). Consequently, the case sensitivity of the underlying operating system determines the case sensitivity of database and table names.  This means 
database and table names are case sensitive in most varieties of Unix, and not case sensitive in  Windows. 


Although database and table names are not case sensitive on some platforms, database or table names should not be referred to using different cases within the same statement. The following statement would not work because it refers to a table both as my_table and as 


MY_TABLE: 


mysql> SELECT * FROM my_table WHERE MY_TABLE.col=1; 


Character Restrictions -


                       It is best practice to include only alphanumeric characters (and underscore or dashes) in the identifier names; however, other characters can be used if no other way is acceptable.  Here is a list or restrictions that also need to be considered in such an event:



○  No identifier can contain ASCII 0 (0x00) or a byte with a value of 255 


○  The use of identifier quote characters in identifiers is permitted, although it is best to avoid 
doing so if possible

○  Database, table, and column names should not end with space characters 


○  Before MySQL 5.1.6, database names and table names cannot contain “/”, “\”, “.”, or characters that are not allowed in a directory name 


○  Identifiers may begin with a digit but unless quoted may not consist solely of digits 


○  It is recommended that names of the form Me or MeN, where M and N are integers.  For 
example, avoid using 1e or 2e2 as identifiers, because an expression such as 1e+3 is 
ambiguous.  Depending on context, it might be interpreted as the expression 1e + 3 or as the 
number 1e+3. 

Comments

Popular posts from this blog

PHP INTRODUCTION

                     PHP  (recursive acronym for  PHP: Hypertext Preprocessor ) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. PHP stands for  P HP:  H ypertext  P reprocessor PHP is a server-side scripting language, like ASP PHP scripts are executed on the server PHP supports many databases (MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC, etc.) PHP is an open source software PHP is free to download and use Why PHP? PHP runs on different platforms (Windows, Linux, Unix, etc.) PHP is compatible with almost all servers used today (Apache, IIS, etc.) PHP is FREE to download from the official PHP resource:  www.php.net PHP is easy to learn and runs efficiently on the server side What can PHP do? Anything. PHP is mainly focused on server-side scripting, so you can do anything any other CGI program can do, such as collect form data, generate dynam

MySQL General Architecture

        MySQL operates in a networked environment using a client/server architecture. In other words, a central  program acts as a server, and various client programs connect to the server to make requests. A MySQL  installation has the following major components: MySQL Server, Client programs and MySQL non client  utilities.  MySQL Server MySQL Server, or mysqld, is the database server program. The server manages access to the actual  database (schema) on disk and in memory. MySQL Server is multi-threaded and supports many  simultaneous client connections. Clients can connect via several connection protocols. For managing  database contents, the MySQL server features a modular architecture that supports multiple storage engines  that handle different types of tables (for example, it supports both transactional and non-transactional  tables). Keep in mind the difference between a server and a host. The server is software (the MySQL server  program mysqld). Server characteristi