熟悉MySQL基本命令
Ubutnu下安装MySQL
先更新一下源,修复依赖关系:
sudo apt-get install update
sudo apt-get install -f
安装MySQL:
sudo apt-get install mysql-server
sudo apt-get isntall mysql-client
sudo apt-get install libmysqlclient-dev
安装过程中,会提示你输入root账号的密码,需要重复确认。
快捷键ctrl+alt+t进入终端,键入:
注意:在 <...> 内输入你自己的信息,默认username为root。
mysql -u -p
至此我们就成功进入MySQL数据库。
mysqladmin相关命令
修改密码:
mysqladmin -u -p password
判断服务是否启动:
第一种方式:
mysqladmin -u -p ping
>mysqld is alive
第二种方式:
netstat -ano | grep mysql
第三种方式:
ps -ef | grep mysql
查看数据库版本信息:
mysqladmin -u -p version
查看所有的全局变量:
mysqladmin -u -p variables
查看数据库状态信息:
mysqladmin -u -p status
查看所有连接的客户端:
mysqladmin -u -p processlist
杀掉某个连接的客户端:
mysqladmin -u -p kill
创建数据库和删除数据库:
mysqladmin -u -p create
mysqladmin -u -p drop
关闭服务:
第一种方式:
mysqladmin -u -p shutdown
第二种方式:
service mysql stop
启动服务:
第一种方式:
cd /usr/bin
sudo ./mysqld_safe &
第二种方式:
启动 - service mysql start
重启 - service mysql restart
MySQL的CRUD操作(增Create、删Delete、查Retrieve、改Update)
连接特定ip和port的mysql数据库,以-h(主机IP)、-P(端口)、-u(用户名)、-p(密码) 参数加输入信息的形式:
mysql -h -P -u -p
查看、使用数据库:
SHOW DATABASES;
USE ;
显示正在使用的数据库:
SELECT DATABASE();
删除数据库:
DROP DATABASE ;
查看表、创建表:
SHOW TABLES;
CREATE TABLE
(
,
......
);
其中的keyword自拟,而keytype选择MySQL内部定义的数据类型,查看更多MySQL字段类型。
检索:
#检索所有列
SELECT * FROM ;
#检索单个列或者多个列
SELECT , , ... FROM ;
限制检索结果:
1、检索不同值,忽略相同值,使用关键字 DISTINCT:
SELECT DISTINCT , , ... FROM ;
注意:不能部分使用DISTINCT,DISTINCT关键字作用于所有的列,不仅仅是跟在其后的那一列。例如你指定 SELECT DISTINCT work_id, test_id FROM example_table; 除非指定的两列完全相同,否则所有的行都会被检索出来。
2、限制检索结果的数量,使用 LIMIT (要显示的行数) OFFSET (偏移量):
SELECT * FROM LIMIT 5 OFFSET 1;
3、排序检索结果,使用 ORDER BY 子句:
... ORDER BY , , ...;
多个排序条件,依次进行排序。先按keyword1排序,结果中keyword1都一致,再按照keyword2排序,然后......。
注意:通常,ORDER BY子句中使用的列将是为了显示而选择的列,但是,实际上并不一定要这样,用非检索的列排序数据是完全合法的。
4、检索结果呈现顺序 默认升序与降序(DESC):
... ORDER BY DESC, , ...;
关键字 DESC 只会应用到直接位于起前面的列名。
5、过滤数据,使用 WHERE 子句:
SELECT , , ... FROM , , ... WHERE [=,<>,!=,<,!<,<=,>,!>,>=,BETWEEN,IS NULL] ;
6、组合过滤条件:
(1)AND操作符
... WHERE a = b AND c = d;
仅仅显示 a=b 和 c=d 都满足条件的检索项。
(2)OR操作符
... WHERE a = b OR c = d;
顺序判断,先判断 a = b,如果成立,显示出来,不需要判断 c = d;如果不成立,再判断 c = d,如果成立,显示出来,若果不成立,过滤丢弃。有其他条件,依次进行判断。
注意:
WHERE子句可以包含任意数目的AND和OR操作符。允许两者结合以进行复杂、高级的过滤。但是,AND的优先级比OR高,盲目组合可能会引起意想不到的错误,为了正确使用组合条件,不过分依赖默认求值顺序,尽量使用圆括号分隔!
(3)IN操作符
... WHERE a IN (b, c, d);
=> ... WHERE a = b OR a = c OR a = d;
(4)NOT操作符
... WHERE a NOT IN (b, c, d);
这里的NOT否定跟在其后的条件,在更复杂的子句中,使用NOT十分有用。
7、LIKE操作符
... WHERE a LIKE "test_%";
匹配字段a所有以“test_”开头的行。
通配符类型:
% - 匹配一段任意长度的字符串
_ - 匹配单个字符
[...] - 匹配指定的一个字符集(只有微软的Access和SQL Server支持集合)
[^...]或者[!...] - 否定集合,不匹配指定的一个字符集