Best database field type for a URL

Lowest common denominator max URL length among popular web browsers: 2,083 (Internet Explorer) http://dev.mysql.com/doc/refman/5.0/en/char.html Values in VARCHAR columns are variable-length strings. The length can be specified as a value from 0 to 255 before MySQL 5.0.3, and 0 to 65,535 in 5.0.3 and later versions. The effective maximum length of a VARCHAR in MySQL 5.0.3 … Read more

Is storing a delimited list in a database column really that bad?

In addition to violating First Normal Form because of the repeating group of values stored in a single column, comma-separated lists have a lot of other more practical problems: Can’t ensure that each value is the right data type: no way to prevent 1,2,3,banana,5 Can’t use foreign key constraints to link values to a lookup … Read more

Run PostgreSQL queries from the command line

psql -U username -d mydatabase -c ‘SELECT * FROM mytable’ If you’re new to postgresql and unfamiliar with using the command line tool psql then there is some confusing behaviour you should be aware of when you’ve entered an interactive session. For example, initiate an interactive session: psql -U username mydatabase mydatabase=# At this point … Read more

How to see the raw SQL queries Django is running?

See the docs FAQ: “How can I see the raw SQL queries Django is running?” django.db.connection.queries contains a list of the SQL queries: from django.db import connection print(connection.queries) Querysets also have a query attribute containing the query to be executed: print(MyModel.objects.filter(name=”my name”).query) Note that the output of the query is not valid SQL, because: “Django … Read more

PDOException SQLSTATE[HY000] [2002] No such file or directory

Laravel 4: Change “host” in the app/config/database.php file from “localhost” to “127.0.0.1” Laravel 5+: Change “DB_HOST” in the .env file from “localhost” to “127.0.0.1” I had the exact same problem. None of the above solutions worked for me. I solved the problem by changing the “host” in the /app/config/database.php file from “localhost” to “127.0.0.1”. Not … Read more

How to remove a field completely from a MongoDB document?

Try this: If your collection was ‘example’ db.example.update({}, {$unset: {words:1}}, false, true); Refer this: http://www.mongodb.org/display/DOCS/Updating#Updating-%24unset UPDATE: The above link no longer covers ‘$unset’ing. Be sure to add {multi: true} if you want to remove this field from all of the documents in the collection; otherwise, it will only remove it from the first document it … Read more

How to secure database passwords in PHP?

Several people misread this as a question about how to store passwords in a database. That is wrong. It is about how to store the password that lets you get to the database. The usual solution is to move the password out of source-code into a configuration file. Then leave administration and securing that configuration … Read more