mysql的一些简单命令

mysql操作命令:
运行cmd进入dos环境
mysql --help查询基本情况,查询mysql提供的选择项目表
连接:mysql -h *** -u *** -p 然后输入对应密码即可 quit推出命令
查询版本和时间:select version(),current_time,current_date;
mysql表示的是时钟时间而不是cpu或机器时间,这些值并不精确
mysql不区分大小写,且它可以用作一个简单的计算器
如:select sin(pi()/4),(4+1)*5;
一行可以输入多个语句,中间以分号隔开
select version();select now();
对于较长的命令可以输入到多个行中,mysql通过寻找终止分号而不是输入行的结束来决定语句在哪里结束的,如:
select
user(),
current_time;
mysql> 会变成->,表示正在等待剩余的部分,如果此时发现输入有误可以输入“\c”结束,它将切换回mysql>如:
select
uer(),
now()\c
提示符 含义
mysql> 准备好接收新命令
-> 等待多行命令的下一行
'> 等待下一行,等待以单引号开始的字符串的结束
"> 等待下一行,等待以双引号开始的识别符的结束
/*> 等待下一行,等待以/*开始的注释的结束
如:
mysql>select * from table where name='tom;
'>
此时由于tom后面少了单引号的结束符而出现此状况,最简单的方法就是结束它,但不能只输入\c,因为mysql作为正在收集的字符串的一部分来解释它,相反应输入关闭引号字符,然后在输入\c,即'\c,对于双引号也是这样

使用数据库
show databases;查看服务器上当前的数据库
mysql和test是必须有的,mysql描述用户访问权限,test数据库经常作为用户试验的工作区
use 数据库名;可切换至对应的数据库,use命令和quit类似,无需以分号结束,但必须保持命令在单行上
show tables;可以查看当前数据库中的表
管理员授权:grant all on dbname.* to 'username'@'hostname';
创建数据库 create database dbname;unix环境下数据库名称是区分大小写的
然后use dbname 切换至此数据库
也可以在连接数据库时连接到此数据库,
如:mysql -h hostname -u username -p dbname 然后输入密码
创建宠物表pet:
create table pet(name varchar(20),owner varchar(20),
species varchar(20),sex char(1),birth date,death date);
describe tablename;可以得到数据表的基本信息,忘记表的信息后可以使用该语句获得表的信息
创建表后可以通过load data和insert语句来填充表
你可以创建一个文本文件“pet.txt”,每行包含一个记录,用定位符(tab)把值分开,并且以CREATE TABLE语句中列出的列次序给出。对于丢失的值(例如未知的性别,或仍然活着的动物的死亡日期),你可以使用NULL值。为了在你的文本文件中表示这些内容,使用\N(反斜线,字母N),
然后通过LOAD DATA LOCAL INFILE ''C:/Documents and Settings/Administrator/桌面/pet.txt' INTO TABLE pet;导入
请注意如果用Windows中的编辑器(使用\r\n做为行的结束符)创建文件,应使用:
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet
-> LINES TERMINATED BY '\r\n';
(在运行OS X的Apple机上,应使用行结束符'\r'。)
如果你愿意,你能明确地在LOAD DATA语句中指出列值的分隔符和行尾标记,但是默认标记是定位符和换行符。这对读入文件“pet.txt”的语句已经足够。
也可以通过insert语句添加一条新记录:
insert into pet values('none','Dinae','cat','f','2009-05-28',null);
选择数据
select * from pet;
修正数据:
方法一:先删除 delete from pet;,然后修改pet.txt文件,通过load data重新导入
方法二:update pet set birth='2011-08-31' where name='liang';
update pet set sex='m'where name in ('jia','hai','fan');
update pet set sex='m'where name='zhang 'or name='yong';
查找符合条件的数据
select * from pet where birth>'2005-10-25';
AND和OR可以混用,但AND比OR具有更高的优先级,如果你使用两个操作符,使用圆括号指明如何对条件进行分组是一个好主意:
mysql> select * from pet where(species='dog' and sex='m')or (species='bird' and sex='f');
选择特殊的列:
SELECT owner FROM pet;结果中有些可能出现了多次
SELECT distinct owner FROM pet;输出减到最少,增加关键字DISTINCT检索出每个唯一的输出记录
SELECT name, birth FROM pet ORDER BY birth;按出生日期排序,默认是升序
SELECT name, birth FROM pet ORDER BY birth DESC;按降序排列
可以对多个列进行排序,并且可以按不同的方向对不同的列进行排序。例如,按升序对动物的种类进行排序,然后按降序根据生日对各动物种类进行排序(最年轻的动物在最前面),
如:select name,species,birth from pet order by species,birth desc;
===================================
日期计算:
select name,birth,curdate(),(year(curdate())-year(birth));
要想确定每个宠物有多大,可以计算当前日期的年和出生日期之间的差。如果当前日期的日历年比出生日期早,则减去一年。以下查询显示了每个宠物的出生日期、当前日期和年龄数值的年数字。
mysql> SELECT name, birth, CURDATE(),
-> (YEAR(CURDATE())-YEAR(birth))
-> - (RIGHT(CURDATE(),5)<RIGHT(birth,5))
-> AS age
-> FROM pet order by name;
+----------+------------+------------+------+
| name | birth | CURDATE() | age |
+----------+------------+------------+------+
| Fluffy | 1993-02-04 | 2003-08-19 | 10 |
| Claws | 1994-03-17 | 2003-08-19 | 9 |
| Buffy | 1989-05-13 | 2003-08-19 | 14 |
| Fang | 1990-08-27 | 2003-08-19 | 12 |
| Bowser | 1989-08-31 | 2003-08-19 | 13 |
| Chirpy | 1998-09-11 | 2003-08-19 | 4 |
| Whistler | 1997-12-09 | 2003-08-19 | 5 |
| Slim | 1996-04-29 | 2003-08-19 | 7 |
| Puffball | 1999-03-30 | 2003-08-19 | 4 |
+----------+------------+------------+------+

此处,YEAR()提取日期的年部分,类似函数还有month(),dayofmonth(),RIGHT()提取日期的MM-DD (日历年)部分的最右面5个字符。比较MM-DD值的表达式部分的值一般为1或0,如果CURDATE()的年比birth的年早,则年份应减去1。整个表达式有些难懂,使用alias (age)来使输出的列标记更有意义。
查询已死亡动物的年龄:
mysql> select name,birth,death,(year(death)-year(birth))-(right(birth,5)>right(death,5)) as age from pet where death>'0000-00-00' order by age;
请注意在MySQL中,0或 NULL意味着假而其它值意味着真。布尔运算的默认真值是1。
对NULL的特殊处理即是在前面的章节中,为了决定哪个动物不再是活着的,使用death IS NOT NULL而不使用death != NULL的原因。
查找下月过生日的动物(前提是未死亡):
SELECT name, birth, MONTH(birth) FROM pet;
找出下个月生日的动物也是容易的。假定当前月是4月,那么月值是4,你可以找在5月出生的动物 (5月),方法是:
如果当前月份是12月,就有点复杂了。你不能只把1加到月份数(12)上并寻找在13月出生的动物,因为没有这样的月份。相反,你应寻找在1月出生的动物(1月) 。
你甚至可以编写查询,不管当前月份是什么它都能工作。采用这种方法不必在查询中使用一个特定的月份,DATE_ADD( )允许在一个给定的日期上加上时间间隔。如果在NOW( )值上加上一个月,然后用MONTH()提取月份,结果产生生日所在月份:
mysql> SELECT name, birth FROM pet
-> WHERE MONTH(birth) = MONTH(DATE_ADD(CURDATE(),INTERVAL 1 MONTH));
完成该任务的另一个方法是加1以得出当前月份的下一个月(在使用取模函数(MOD)后,如果月份当前值是12,则“回滚”到值0):
mysql> SELECT name, birth FROM pet
-> WHERE MONTH(birth) = MOD(MONTH(CURDATE()), 12) + 1;
------------------------------------------------------------
null值操作
null值意味着没有值或未知值
只能用** is null 或者** is not null,而不是**=null 或**!=null,在mysql中0或null意味着假而其他值意味着真,布尔运算的默认值为1.
在group by中两个null视为相同
执行order by时,如果运行order by * asc,则null值出现在最前面,若desc则排在最后面
--------------------------------------
模式匹配
SQL模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零字符)。在 MySQL中,SQL的模式默认是忽略大小写的。下面给出一些例子。注意使用SQL模式时,不能使用=或!=;而应使用LIKE或NOT LIKE比较操作符。

Linux下重启MySQL的正确方法:

1、通过rpm包安装的MySQL

    service mysqld restart

2、从源码包安装的MySQL

    // linux关闭MySQL的命令

    $mysql_dir/bin/mysqladmin -uroot -p shutdown

    // linux启动MySQL的命令

    $mysql_dir/bin/mysqld_safe &

其中mysql_dir为MySQL的安装目录,mysqladmin和mysqld_safe位于MySQL安装目录的bin目录下,很容易找到的。

3、以上方法都无效的时候,可以通过强行命令:“killall mysql”来关闭MySQL,但是不建议用这样的方式,因为这种野蛮的方法会强行终止MySQL数据库服务,有可能导致表损坏

步骤或方法:RedHat Linux (Fedora Core/Cent OS)

1.启动:/etc/init.d/mysqld start

2.停止:/etc/init.d/mysqld stop

3.重启:/etc/init.d/mysqld restart

Debian / Ubuntu Linux

1.启动:/etc/init.d/mysql start

2.停止:/etc/init.d/mysql stop

3.重启:/etc/init.d/mysql restart

Windows

1.点击“开始”->“运行”(快捷键Win+R)。

2.启动:输入 net stop mysql

3.停止:输入 net start mysql

提示* Redhat Linux 也支持service command,启动:# service mysqld start 停止:# service mysqld stop 重启:# service mysqld restart

* Windows下不能直接重启(restart),只能先停止,再启动。

MySQL启动,停止,重启方法:

一、启动方式

1、使用 service 启动:service mysqld start

2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start

3、使用 safe_mysqld 启动:safe_mysqld&

二、停止

1、使用 service 启动:service mysqld stop

2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop

3、mysqladmin shutdown

三、重启

1、使用 service 启动:service mysqld restart

2、使用 mysqld 脚本启动:/etc/inint.d/mysqld restart

原文地址:https://www.cnblogs.com/90zyh/p/2859213.html