What’s the difference between VARCHAR and CHAR?

VARCHAR is variable-length. CHAR is fixed length. If your content is a fixed size, you’ll get better performance with CHAR. See the MySQL page on CHAR and VARCHAR Types for a detailed explanation (be sure to also read the comments).

ERROR 1698 (28000): Access denied for user ‘root’@’localhost’

Some systems like Ubuntu, MySQL is using the UNIX auth_socket plugin by default. Basically it means that: db_users using it, will be “authenticated” by the system user credentials. You can see if your root user is set up like this by doing the following: As you can see in the query, the root user is using the auth_socket plugin. There are two ways to solve this: … Read more

MySQL query String contains

Quite simple actually: The % is a wildcard for any characters set (none, one or many). Do note that this can get slow on very large datasets so if your database grows you’ll need to use fulltext indices.

SQL SELECT WHERE field contains words

Rather slow, but working method to include any of words: If you need all words to be present, use this: If you want something faster, you need to look into full text search, and this is very specific for each database type.

Using group by on multiple columns

Group By X means put all those with the same value for X in the one group. Group By X, Y means put all those with the same values for both X and Y in the one group. To illustrate using an example, let’s say we have the following table, to do with who is attending what subject at … Read more