Mysql | 常用命令

来源:互联网 发布:vb安装win10 编辑:程序博客网 时间:2024/06/03 23:47

(1)登陆mysql

shell>mysql -h host -u user -p

输入密码:******

(2)连接后退出mysql

shell>quit;

(3)获取版本号和当前日期

mysql>select version(),current_date;

(4)mysql中大小写等价

(5)将mysql作为意见简单的计算器

比如计算:sin(pi/4)和(4+1)*5

mysql>select sin(pi()/4),(4+1)*5;

(6)获得现在时间

mysql>select now();

(7)如果不想执行正在输入过程中的一个命令,输入\c取消

(8)提示符的含义

mysql>准备好接受新命令

->等待多行命令的下一行

'>等待下一行,等待以单引号开始的字符串的结束

">等待下一行,等待以双引号开始的字符串的结束

`>等待下一行,等待以反斜点开始的识别符的结束

/*>等到下一行,等待以/*开始的注释的结束

(9)获取用户信息

mysql>select user();

(10)查询服务器上存在什么数据库

mysql>show databases;

(11)使用某个数据库

mysql>use databasesname;

(12)创建新的数据库

mysql>create database newdatabasename;

(13)在登陆时就开始选择数据库

shell>mysql -h host -u user -p databasename

Enter password:*********

(14)选定数据库中,显示其中的数据表

mysql>show tables;

(15)获取某个表中的信息

mysql>describe tablename;

(16)新建表之后,将数据装入表中

1、批量装入,通过load data指令

Excel数据导入:参考http://www.111cn.net/database/mysql/102439.htm

在excel表中按照所建表的内容格式依次填入数据,保存为.csv文件,

mysql>load data local infile "/path/name.csv" into table tablename fields terminated by ',';

2、一次增加一个新记录,使用insert语句

mysql>insert into tablename values('value1','value2','value3'...);

(17)从数据表中检索数据

select what_to_select from which_table where conditions_to_satisfy;

(18)查看表中所有的数据

mysql>select * from tablename;

(19)修改表中某个数据

1、修改数据表,使用delete from tablename清空tablename的数据之后,再使用load data重新载入数据。

2、使用一个update语句修正错误记录:

比如mysql>update tablename set birth="1989-08-31" where name="bowser";

(20)where的应用

mysql>select * from tablename where name="bowser";

mysql>select * from tablename where birth>"1998-1-2";

mysql>select * from tablename where species="dog" and sex='f';

mysql>select * from tablename where species="snake" or species="bird";

mysql>select * from tablename where (spcies="cat" and sex="m") or (species="dog" and sex="f")

mysql>select name,birth from tablename;

mysql>select distinct owner from tablename; //使用distinct是为了获得owner的值唯一输出。

mysql>select name ,species,birth from tablename where species="dog" or species="cat";

(21)排序结果,使用order by语句

mysql>select name,birth from tablename order by birth; //默认升序

mysql>select name,birth from tablename order by birth desc;//使用降序

mysql>select name,species,birth from tablename order by species,birth desc; //desc关键字只适用于在它前面的列名,不会影响species列的排序顺序。

(22)as关键字,别名

mysql>select name,birth,curdate(),(year(curdate())-year(birth))-(right(curdate(),5)<right(birth,5)) as age from pet;

year()提取日期的年部分,right()提取日期的MM-DD(日历年)部分的最右5个字符,month()获得月份,dayofmonth()获得日期。

(23)mysql中,0或者null意味着假而其他值意味着真。

(24)group by中,两个null视为相同。

(25)order by ... asc,null值出现在最前面。order by ... desc ,null值出现在最后面。

(26)mysql提供标准的SQL模式匹配。

“_”匹配任何单个字符

“%”匹配任意数目字符,包括零字符

不能使用=或!=;应使用like或not like比较操作符。

(27)mysql提供的模式匹配的其它类型是扩展正则表达式。当你对这类模式进行匹配测试时,使用regexp和not regexp操作符。

‘.’匹配任何单个字符。

"[...]"匹配在方括号内的任何字符。

“[a-z]”匹配任何字母。

“[0-9]”匹配任何数字。

“*”匹配零个或多个在它面前的字符。例如“x*”匹配任何数量的"x"字符,“[0-9]*”匹配任何数量的数字,而“.*”匹配任何数量的任何字符。

如果regexp模式与被测试值的任何地方匹配,模式就匹配(这不同于like模式匹配,只有与整个值匹配,模式才匹配)

为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用“^”或在结尾处使用“$”

如:mysql>select * from pet where name regexp '^b';

如果你想强制使regexp比较区分大小写,使用binary关键字使其中一个字符串变为二进制字符串。

如:mysql>select * from pet where name regexp binary '^b';

mysql>select * from pet where name regexp 'fy$'; //使用"$"匹配名字的结尾。

mysql>select * from pet where name regexp 'w'; //找出包含一个“w”的名字。

mysql>select * from pet where name regexp '^.....$'; //找出包含正好5个字符的名字。

mysql>select * from pet where name regexp '^.{5}$' ;//找出包含正好5个字符的名字。

(28)count的使用

mysql>select count(*) from pet; //统计pet表中有多少个数据。

mysql>select owner,count(*) from pet groupby owner; //统计每个owner有多少条数据。注意,必须使用group by对每个owner的所有记录分组。

mysql>select species,sex,count(*) from pet group by species,sex;

mysql>select species,sex,count(*) from pet where species='dog' or species='cat' group by species,sex;

mysql>select species,sex,count(*) from pet where sex is not null group by species,sex;

(29)查询涉及多个表,使用表名.表项

(30)mysql>select database(); //找出当前选择了哪个数据库

(31)mysql>show tables; //找出当前数据库包含什么表

(32)mysql>describe pet; //显示表中每个列的信息







 





原创粉丝点击