13个mysql数据库的实用SQL小技巧
http://www.gbtags.com/gb/share/2351.htm MYSQL作为最成功的开源关系型数据库之一,拥有大批的粉丝(本人也是),在这篇文章中,我们精心收集了10个最实用的mysql查询技巧,希望能够带给大家惊喜,如果大家也有非常不错的SQL,请留言与我们分享! SQL,MYSQ
http://www.gbtags.com/gb/share/2351.htm
MYSQL作为最成功的开源关系型数据库之一,拥有大批的粉丝(本人也是),在这篇文章中,我们精心收集了10个最实用的mysql查询技巧,希望能够带给大家惊喜,如果大家也有非常不错的SQL,请留言与我们分享!
SQL ,MYSQL
使用CASE来重新定义数值类型
<p></p><p></p><ol> <li> <span>SELECT id</span><span>,</span><span>title</span><span>,</span> </li> <li> <span>(</span><span>CASE date WHEN </span><span>'0000-00-00'</span><span> THEN </span><span>''</span><span> ELSE date </span><span>END</span><span>)</span><span> AS date</span> </li> <li><span> FROM your_table</span></li> <li> <span>SELECT id</span><span>,</span><span>title</span><span>,</span> </li> <li> <span>(</span><span>CASE status WHEN </span><span>0</span><span> THEN </span><span>'open'</span><span> WHEN </span><span>1</span><span> THEN </span><span>'close'</span><span> ELSE </span><span>'standby'</span><span>END</span><span>)</span><span> AS status</span> </li> <li><span> FROM your_table</span></li> </ol><p></p><p></p><p></p>
查找重复的email记录字段
<p></p><p></p><ol> <li> <span>SELECT email</span><span>,</span><span> COUNT</span><span>(</span><span>email</span><span>)</span><span> AS q</span> </li> <li> <span> FROM emails_table GROUP BY email HAVING q </span><span>></span><span>1</span> </li> <li><span> ORDER BY q DESC</span></li> </ol><p></p><p></p><p></p>
取出随机顺序得到记录
<p></p><p></p><ol><li> <span>SELECT </span><span>*</span><span> FROM your_table ORDER BY RAND</span><span>()</span> </li></ol><p></p><p></p><p></p>
使用update替换指定字段里的字符
<p></p><p></p><ol> <li><span>UPDATE your_table</span></li> <li> <span> SET name</span><span>=</span><span>REPLACE</span><span>(</span><span>name</span><span>,</span><span>'gbin1.com'</span><span>,</span><span>'gbtags.com'</span><span>)</span> </li> <li> <span> WHERE name LIKE </span><span>'%John%'</span><span>;</span> </li> </ol><p></p><p></p><p></p>
重设置指定table里的自动增加数值
<p></p><p></p><ol><li> <span>ALTER TABLE your_table AUTO_INCREMENT </span><span>=</span><span>2</span> </li></ol>
下一次你插入数据,那么id自动增加为2
为select语句添加一个自动增加的字段列
<p></p><p></p><ol> <li> <span>set</span><span>@N</span><span>=</span><span>0</span><span>;</span> </li> <li> <span>SELECT </span><span>@N</span><span>:=</span><span>@N</span><span>+</span><span>1</span><span> AS number</span><span>,</span><span> name</span><span>,</span><span> surname FROM gbtags_users</span><span>;</span> </li> </ol><p></p><p></p><p></p>
使用concat来连接字段
<p></p><p></p><ol><li> <span>SELECT CONCAT</span><span>(</span><span>name</span><span>,</span><span>' '</span><span>,</span><span>surname</span><span>)</span><span> AS complete_name FROM users</span> </li></ol>
使用date方法来取出日期类型的指定部分
<p></p><p></p><ol> <li> <span>SELECT id</span><span>,</span><span>title</span><span>,</span><span> YEAR</span><span>(</span><span>date_field</span><span>)</span><span> FROM your_table</span> </li> <li> <span>SELECT id</span><span>,</span><span>title</span><span>,</span> </li> <li> <span> CONCAT</span><span>(</span><span>MONTH</span><span>(</span><span>date_field</span><span>),</span><span>'/'</span><span>,</span><span>YEAR</span><span>(</span><span>date_field</span><span>))</span><span>as</span><span> new_date</span> </li> <li><span> FROM your_table</span></li> </ol>
上面语句,第一个select取出了年份,第二取出了月份和年份组合
针对unique key(唯一键)类型字段的重复插入不报错的insert语句
<p></p><p></p><ol><li> <span>INSERT IGNORE INTO tags </span><span>(</span><span>tag</span><span>)</span><span> VALUES </span><span>(</span><span>'good'</span><span>);</span> </li></ol>
这个insert语句可以执行多次,不会报错,重复的插入会被忽略
使用全文索引并且匹配搜索
<p></p><p></p><ol><li> <span>select</span><span>*</span><span>from</span><span> articles </span><span>where</span><span> MATCH</span><span>(</span><span>content_column</span><span>)</span><span> AGAINST </span><span>(</span><span>'music'</span><span>)</span> </li></ol>
你需要首先添加全文搜索索引到指定的列(content_column)。注意如果你表里已经有数据的话,不会创建索引,所以你需要使用一个空的表来执行这个语句
如果查询一个月以前
<p></p><p></p><ol> <li> <span>SELECT user</span><span>,</span><span> count</span><span>(*)</span><span> AS logins</span> </li> <li><span> FROM stat_log</span></li> <li> <span> WHERE action</span><span>=</span><span>'LOGIN'</span><span> AND dt_when </span><span>>=</span><span> DATE_ADD</span><span>(</span><span>CURDATE</span><span>(),</span><span> INTERVAL </span><span>-</span><span>1</span><span> MONTH</span><span>)</span> </li> <li><span> GROUP BY user</span></li> </ol><p></p><p></p><p></p>
这个语句能够让你查询字段dt_when一个月以前的所有记录
设置正确的字符集
<p></p><p></p><ol><li> <span>SET NAMES </span><span>'utf8'</span><span>;</span> </li></ol>
请在连接开始后执行这个语句
从一个表插入另外一个表
<p></p><p></p><ol> <li> <span>INSERT INTO yourtable </span><span>(</span><span>field1</span><span>,</span><span>field2</span><span>,</span><span>field3</span><span>)</span> </li> <li> <span> SELECT newfield1</span><span>,</span><span>newfield2</span><span>,</span><span>'fixed value'</span> </li> <li><span> FROM yourtable2</span></li> </ol><p></p><p></p><p></p>
这个语句能够快速的帮助大家快速的添加一个表中的特定内容到另外一个表中。
希望这里我们介绍的这些SQL能够帮助大家更好更快的使用Mysql,如果大家也有很多自己保存的SQL,请大家给我们留言!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

MySQL's position in databases and programming is very important. It is an open source relational database management system that is widely used in various application scenarios. 1) MySQL provides efficient data storage, organization and retrieval functions, supporting Web, mobile and enterprise-level systems. 2) It uses a client-server architecture, supports multiple storage engines and index optimization. 3) Basic usages include creating tables and inserting data, and advanced usages involve multi-table JOINs and complex queries. 4) Frequently asked questions such as SQL syntax errors and performance issues can be debugged through the EXPLAIN command and slow query log. 5) Performance optimization methods include rational use of indexes, optimized query and use of caches. Best practices include using transactions and PreparedStatemen

Apache connects to a database requires the following steps: Install the database driver. Configure the web.xml file to create a connection pool. Create a JDBC data source and specify the connection settings. Use the JDBC API to access the database from Java code, including getting connections, creating statements, binding parameters, executing queries or updates, and processing results.

The process of starting MySQL in Docker consists of the following steps: Pull the MySQL image to create and start the container, set the root user password, and map the port verification connection Create the database and the user grants all permissions to the database

The main role of MySQL in web applications is to store and manage data. 1.MySQL efficiently processes user information, product catalogs, transaction records and other data. 2. Through SQL query, developers can extract information from the database to generate dynamic content. 3.MySQL works based on the client-server model to ensure acceptable query speed.

Laravel is a PHP framework for easy building of web applications. It provides a range of powerful features including: Installation: Install the Laravel CLI globally with Composer and create applications in the project directory. Routing: Define the relationship between the URL and the handler in routes/web.php. View: Create a view in resources/views to render the application's interface. Database Integration: Provides out-of-the-box integration with databases such as MySQL and uses migration to create and modify tables. Model and Controller: The model represents the database entity and the controller processes HTTP requests.

The key to installing MySQL elegantly is to add the official MySQL repository. The specific steps are as follows: Download the MySQL official GPG key to prevent phishing attacks. Add MySQL repository file: rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm Update yum repository cache: yum update installation MySQL: yum install mysql-server startup MySQL service: systemctl start mysqld set up booting

Installing MySQL on CentOS involves the following steps: Adding the appropriate MySQL yum source. Execute the yum install mysql-server command to install the MySQL server. Use the mysql_secure_installation command to make security settings, such as setting the root user password. Customize the MySQL configuration file as needed. Tune MySQL parameters and optimize databases for performance.

I encountered a tricky problem when developing a small application: the need to quickly integrate a lightweight database operation library. After trying multiple libraries, I found that they either have too much functionality or are not very compatible. Eventually, I found minii/db, a simplified version based on Yii2 that solved my problem perfectly.
