很久之前发过 最基本的 SQL 命令行语句并详解( MySQL 语句 ),不过里面包含的只是对数据库表格的操作命令,下面包含的基础命令包含的更全一些,包括选择、创建和删除数据库等。熟悉 MySQL 的基础命令,对于其他数据库的 SQL 命令的学习是有帮助的。
在介绍相关基础命令之前,首先我们要进入 MySQL 命令行,方法很简单(本文以 Windows 为例,并且已经安装和设置好 MySQL 的前提,如果还没有可以参考文章 → Windows 安装和设置 MySQL),首先打开命令行,比如按 Win + R,输入 cmd 回车,就可以打开命令行。
在打开的命令行里输入下面命令回车,然后输入 MySQL 密码,就可以进入 MySQL 的命令行:
mysql -u root -p
如下图显示 mysql> 之后,就正式进入了 MySQL 的命令行,可以输入 MySQL 命令了。
以下命令为 MySQL 命令,注意每条命令结束要以英文分号";"结束:
1.对数据库进行操作
创建数据库:
create database db_name;
其中 db_name 是数据库名称(下同),自定义即可,建议名称要一眼能知道是什么用途。
删除数据库:
drop database db_name;
选择某数据库
use db_name;
如果不知道有哪些数据库可以用这个命令
show databases;
2.对数据库内的表格进行操作
选择数据库之后,就可以对该数据库下面的表格和数据进行操作了,首先要确定这个数据库下面有哪些表,可以用这个命令:
show tables;
create table table_name( 列名1 数据类型, 列名2 数据类型, ... );
其中 table_name 是表名(下同)。
比如:
CREATE TABLE table_users( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, age INT DEFAULT 0 );
删除表格:
drop table table_name;
3.对表格内的数据进行操作:
MySQL 显示表格内某条数据:
select * from table_name where id='444';
MySQL 删除某条数据
delete from table_name where id='444';
ALTER TABLE table_name DROP columns_name;
show columns from table_name;
更改字段属性
ALTER TABLE table_name MODIFY column_name VARCHAR(100);
MySQL 显示10条数据
select * from table_name limit 10; //倒序取前10,limit 要放在最后 select * from table_name order by id desc limit 10;
MySQL 搜索关键词
select * from table_name where content like '%hello%';
'搜索 content 中包含关键词为 hello 的所有内容,其中 % 代表任何字符。
select * from table_name where content like 'hello%';
'搜索 content 中关键词 hello 开头的所有内容,同样如果是在末尾的话,可以用 "%hello" 表示。
select * from table_name where content like '_hello_';'搜索 content 中关键词是 hello 并且前后各一个字符的内容,_ 代表一个任意字符。
select * from table_name where content like '%hello%' AND title like '%world%';'搜索 content 中包含关键词为 hello 并且 title 中包含 world 的所有内容,多个内容同时搜索可以用 AND。
4.数据库更改和更新数据
UPDATE table_name SET content='新内容' WHERE id='3';
数据库替换关键词:
update wp_posts set post_content = replace(post_content,"aaaa","bbbb");
5.删除特定数据(删除数据要谨慎)
有时候我们需要删除指定字符串长度的数据:可以先查询字段字符串长度:
SELECT * FROM table_name WHERE LENGTH(username) < 6;
DELETE FROM table_name WHERE LENGTH(ua)<6 AND type='unknow';
或者删除包含中文字符串:
先判断是否包含中文字符串的方法:
SELECT col FROM table WHERE length(col)!=char_length(col);'当字符集为UTF-8,并且字符为中文时,length() 和 char_length() 两个方法返回的结果是不相同的。
删除包含中文的数据
delete from table_ua where length(ua)<>char_length(ua) and type='unknow';
以上只是部分常用 MySQL 命令,后续如果需要的话,我再整理更多。
附录.可能用到的相关文章: