{"id":415,"date":"2012-01-02T17:26:29","date_gmt":"2012-01-02T17:26:29","guid":{"rendered":"http:\/\/www.sandykadam.com\/?p=415"},"modified":"2012-01-02T17:26:29","modified_gmt":"2012-01-02T17:26:29","slug":"mysql-interview-questions-part-2","status":"publish","type":"post","link":"https:\/\/www.sandykadam.com\/blog\/interview-questions\/mysql-interview-questions-part-2\/","title":{"rendered":"MySQL Interview Questions &#8211; Part 2"},"content":{"rendered":"<p><strong>31) How are ENUMs and SETs represented internally?<\/strong><br \/>\nAs unique integers representing the powers of two, due to storage optimizations.<\/p>\n<p><strong>32) How do you start and stop MySQL on Windows?<\/strong><br \/>\nnet start MySQL, net stop MySQL<\/p>\n<p><strong>33) How do you start MySQL on Linux?<\/strong><br \/>\n\/etc\/init.d\/mysql start<\/p>\n<p><strong>34) Explain the difference between mysql and mysql interfaces in PHP?<\/strong><br \/>\nmysqli is the object-oriented version of mysql library functions.<br \/>\nWhat\u2019s the default port for MySQL Server?<br \/>\n3306<\/p>\n<p><strong>35) What does tee command do in MySQL?<\/strong><br \/>\ntee followed by a filename turns on MySQL logging to a specified file. It can be stopped by command note.<!--more--><\/p>\n<p><strong>36) Can you save your connection settings to a conf file?<\/strong><br \/>\nYes, and name it ~\/.my.conf. You might want to change the permissions on the file to 600, so that it\u2019s not readable by others.<\/p>\n<p><strong>37) How do you change a password for an existing user via mysqladmin?<\/strong><br \/>\nmysqladmin -u root -p password &#8220;newpassword&#8221;<\/p>\n<p><strong>38) Use mysqldump to create a copy of the database?<\/strong><br \/>\nmysqldump -h mysqlhost -u username -p mydatabasename &gt; dbdump.sql<\/p>\n<p><strong>39) Have you ever used MySQL Administrator and MySQL Query Browser?<\/strong><br \/>\nDescribe the tasks you accomplished with these tools.<\/p>\n<p><strong>40) What are some good ideas regarding user security in MySQL?<\/strong><br \/>\nThere is no user without a password. There is no user without a user name. There is no user whose Host column contains % (which here indicates that the user can log in from anywhere in the network or the Internet). There are as few users as possible (in the ideal case only root) who have unrestricted access.<\/p>\n<p><strong>41) Explain the difference between MyISAM Static and MyISAM Dynamic. ?<\/strong><br \/>\nIn MyISAM static all the fields have fixed width. The Dynamic MyISAM table would include fields such as TEXT, BLOB, etc. to accommodate the data types with various lengths. MyISAM Static would be easier to restore in case of corruption, since even though you might lose some data, you know exactly where to look for the beginning of the next record.<\/p>\n<p><strong>42) What does myisamchk do?<\/strong><br \/>\nIt compressed the MyISAM tables, which reduces their disk usage.<\/p>\n<p><strong>43) Explain advantages of InnoDB over MyISAM?<\/strong><br \/>\nRow-level locking, transactions, foreign key constraints and crash recovery.<\/p>\n<p><strong>44) Explain advantages of MyISAM over InnoDB?<\/strong><br \/>\nMuch more conservative approach to disk space management &#8211; each MyISAM table is stored in a separate file, which could be compressed then with myisamchk if needed. With InnoDB the tables are stored in tablespace, and not much further optimization is possible. All data except for TEXT and BLOB can occupy 8,000 bytes at most. No full text indexing is available for InnoDB. TRhe COUNT(*)s execute slower than in MyISAM due to tablespace complexity.<\/p>\n<p><strong>45) What are HEAP tables in MySQL?<\/strong><br \/>\nHEAP tables are in-memory. They are usually used for high-speed temporary storage. No TEXT or BLOB fields are allowed within HEAP tables. You can only use the comparison operators = and. HEAP tables do not support AUTO_INCREMENT. Indexes must be NOT NULL.<\/p>\n<p><strong>46) How do you control the max size of a HEAP table?<\/strong><br \/>\nMySQL config variable max_heap_table_size.<\/p>\n<p><strong>47) What are CSV tables?<\/strong><br \/>\nThose are the special tables, data for which is saved into comma-separated values files. They cannot be indexed.<\/p>\n<p><strong>48) Explain federated tables. ?<\/strong><br \/>\nIntroduced in MySQL 5.0, federated tables allow access to the tables located on other databases on other servers.<\/p>\n<p><strong>49) What is SERIAL data type in MySQL?<\/strong><br \/>\nBIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT<\/p>\n<p><strong>50) What happens when the column is set to AUTO INCREMENT and you reach the maximum value for that table?<\/strong><br \/>\nIt stops incrementing. It does not overflow to 0 to prevent data losses, but further inserts are going to produce an error, since the key has been used already.<\/p>\n<p><strong>51) Explain the difference between BOOL, TINYINT and BIT. ?<\/strong><br \/>\nPrior to MySQL 5.0.3: those are all synonyms. After MySQL 5.0.3: BIT data type can store 8 bytes of data and should be used for binary data.<\/p>\n<p><strong>52) Explain the difference between FLOAT, DOUBLE and REAL. ?<\/strong><br \/>\nFLOATs store floating point numbers with 8 place accuracy and take up 4 bytes. DOUBLEs store floating point numbers with 16 place accuracy and take up 8 bytes. REAL is a synonym of FLOAT for now.<\/p>\n<p><strong>53) If you specify the data type as DECIMAL (5,2), what\u2019s the range of values that can go in this table?<\/strong><br \/>\n999.99 to -99.99. Note that with the negative number the minus sign is considered one of the digits.<\/p>\n<p><strong>54) What happens if a table has one column defined as TIMESTAMP?<\/strong><br \/>\nThat field gets the current timestamp whenever the row gets altered.<\/p>\n<p><strong>55) But what if you really want to store the timestamp data, such as the publication date of the article?<\/strong><br \/>\nCreate two columns of type TIMESTAMP and use the second one for your real data.<br \/>\nExplain data type TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ?<br \/>\nThe column exhibits the same behavior as a single timestamp column in a table with no other timestamp columns.<\/p>\n<p><strong>56) What does TIMESTAMP ON UPDATE CURRENT_TIMESTAMP data type do?<\/strong><br \/>\nOn initialization places a zero in that column, on future updates puts the current value of the timestamp in.<\/p>\n<p><strong>57) Explain TIMESTAMP DEFAULT \u20182006:09:02 17:38:44? ON UPDATE CURRENT_TIMESTAMP. ?<\/strong><br \/>\nA default value is used on initialization, a current timestamp is inserted on update of the row.<\/p>\n<p><strong>58) If I created a column with data type VARCHAR(3), what would I expect to see in MySQL table?<\/strong><br \/>\nCHAR(3), since MySQL automatically adjusted the data type.<\/p>\n<p><strong>59) General Information About MySQL<\/strong><br \/>\nMySQL is a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server.<\/p>\n<p><strong>60) MySQL is free software.<\/strong><br \/>\nIt is licensed with the GNU GENERAL PUBLIC LICENSE http:\/\/www.gnu.org\/.<\/p>\n<p><strong>61) What Is MySQL<\/strong><br \/>\nMySQL, the most popular Open Source SQL database, is provided by MySQL AB. MySQL AB is a commercial company that builds is business providing services around the MySQL database. See section 1.2 What Is MySQL AB.<\/p>\n<p><strong>62) MySQL is a database management system.<\/strong><br \/>\nA database is a structured collection of data. It may be anything from a simple shopping list to a picture gallery or the vast amounts of information in a corporate network. To add, access, and process data stored in a computer database, you need a database management system such as MySQL. Since computers are very good at handling large amounts of data, database management plays a central role in computing, as stand-alone utilities, or as parts of other applications.<\/p>\n<p><strong>63) MySQL is a relational database management system.<\/strong><br \/>\nA relational database stores data in separate tables rather than putting all the data in one big storeroom. This adds speed and flexibility. The tables are linked by defined relations making it possible to combine data from several tables on request. The SQL part of MySQL stands for &#8220;Structured Query Language&#8221; &#8211; the most common standardized language used to access databases.<\/p>\n<p><strong>64) MySQL is Open Source Software.<\/strong><br \/>\nOpen source means that it is possible for anyone to use and modify. Anybody can download MySQL from the Internet and use it without paying anything. Anybody so inclined can study the source code and change it to fit their needs. MySQL uses the GPL (GNU General Public License) http:\/\/www.gnu.org, to define what you may and may not do with the software in different situations. If you feel uncomfortable with the GPL or need to embed MySQL into a commercial application you can buy a commercially licensed version from us.<\/p>\n<p><strong>65) Why use MySQL?<\/strong><br \/>\nMySQL is very fast, reliable, and easy to use. If that is what you are looking for, you should give it a try. MySQL also has a very practical set of features developed in very close cooperation with our users. You can find a performance comparison of MySQL to some other database managers on our benchmark page. See section 12.7 Using Your Own Benchmarks. MySQL was originally developed to handle very large databases much faster than existing solutions and has been successfully used in highly demanding production environments for several years. Though under constant development, MySQL today offers a rich and very useful set of functions. The connectivity, speed, and security make MySQL highly suited for accessing databases on the Internet.<\/p>\n<p><strong>66) The technical features of MySQL<\/strong><br \/>\nFor advanced technical information, see section 7 MySQL Language Reference. MySQL is a client\/server system that consists of a multi-threaded SQL server that supports different backends, several different client programs and libraries, administrative tools, and a programming interface. We also provide MySQL as a multi-threaded library which you can link into your application to get a smaller, faster, easier to manage product. MySQL has a lot of contributed software available.<\/p>\n<p>It is very likely that you will find that your favorite application\/language already supports MySQL. The official way to pronounce MySQL is My Ess Que Ell&#8221; (not MY-SEQUEL). But we try to avoid correcting people who say MY-SEQUEL.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>31) How are ENUMs and SETs represented internally?<br \/>\nAs unique integers &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[49,94],"tags":[52,37,51,92],"class_list":["post-415","post","type-post","status-publish","format-standard","hentry","category-interview-questions","category-mysql-interview-questions","tag-interview","tag-php-2","tag-php-interview-questions-2","tag-technical-questions"],"aioseo_notices":[],"views":8460,"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p25uYH-6H","jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.sandykadam.com\/blog\/wp-json\/wp\/v2\/posts\/415","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sandykadam.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sandykadam.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sandykadam.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sandykadam.com\/blog\/wp-json\/wp\/v2\/comments?post=415"}],"version-history":[{"count":1,"href":"https:\/\/www.sandykadam.com\/blog\/wp-json\/wp\/v2\/posts\/415\/revisions"}],"predecessor-version":[{"id":416,"href":"https:\/\/www.sandykadam.com\/blog\/wp-json\/wp\/v2\/posts\/415\/revisions\/416"}],"wp:attachment":[{"href":"https:\/\/www.sandykadam.com\/blog\/wp-json\/wp\/v2\/media?parent=415"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sandykadam.com\/blog\/wp-json\/wp\/v2\/categories?post=415"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sandykadam.com\/blog\/wp-json\/wp\/v2\/tags?post=415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}