Linux下的Mysql的基本操作(CentOS6.6)

来源:互联网 发布:宁波行知小学怎么样 编辑:程序博客网 时间:2024/06/05 02:35

一、CentOS6.6安装mysql

#yum –y install mysqlmysql-server mysql-devel   安装mysql和mysql-server以及mysql-devel

#chkconifg –level 35mysqld on   加入开机启动

#/etc/init.d/mysqldstart   启动mysqld服务

#mysql –u root    进入mysql

 

-------------------------------------------------

SELECTVERSION();SELECT NOW();  查看当前版本号以及当卡时间日期


SHOW DATABASES;  查看当前都存在哪些数据库

CREATE DATABASE one;  创建一个数据库

USE one;      使one成为当前的数据库

数据库只需要创建一次,但是必须在每次启动mysql会话时在使用前先选择它。你可以更据上面的例子执行一个USE语句来实现。

现在随便来建立一个表:按想要得到一个宠物的相关属性的表来建立

CREATE TABLE pet(name VARCHAR(20), owner VARCHAR(20), species VARCHAR(20), sex CHAR(1), birthDATE, death DATE);  建立名为pet的一张表格

上述中:

VATCHAR(20) 适合用于name owner这种数据类型

CHAR(1) 适合用于sex性别的数据类型

DATE  这显然就是时间数据类型了,适合于birth出生death死亡

后面括号里面的20表示字型长度(1~65535)

后续如需要更改可以使用ALTER TABLE的语句来修改。

--------------------------------------------------------------------------------------------------

接下来SHOW TABLES;查看当前所有表

     DESCRIBE pet; 查看当前名为pet的表格


可以看到上表中,之前建立的属性分类。

当然目前的这张表还只是一个空的表格,需要填充内容,即不同的宠物的属性进去。

而填充一个空的表格的最简单的办法就是新创建一个文本文件,每个动物各一行,然后用一个语句将文件的内容加载到表中。

现在来创建一个文本文件pet.txt

#touch pet.txt

Dog    Franz   black   \N     1995-11-09      2001-03-21

\N表示为空null

然后将这个新建的txt文本里面的数据导入到刚才建立的pet的表中去。

mysql> LOAD DATALOCAL INFILE ‘/home/test/pet.txt’ INTO TABLE pet

     >LINES TERMINATED BY ‘\r\n’; 

如果是windows的编辑器则需要加这一行,而MAC使用\r作为结束符。

也可以直接在外面一次增加一个新的纪录:

mysql> INSERT INTOpet

    -> VALUES('Puffball','Diane','hamster','f','1999-03-30',NULL);

NULL带表空值。

信息检索:

mysql> SELECT *FROM pet; 选择所有的来自于pet

如果要修改表里面的信息:有两种办法

办法一:

编辑pet.txt文件改正错误,然后使用DELETE和LOAD DATA清空并重新加载

mysql> DELETE FROMpet;

mysql> LOAD DATALOCAL INFILE '/home/test/pet.txt' INTO TABLE pet;

办法二:

使用UPDATE语句来进行错误的修正

mysql> UPDATE petSET birth = '1989-08-31' WHERE name = 'Bowser';

UPDATE只更改有问题的记录,并且不需要重新加载数据库表。

 

二、Mysql的筛选

筛选特俗的行:

mysql> SELECT *FROM pet WHERE name = 'Bowser';

mysql> SELECT *FROM pet WHERE birth > '1998-1-1';生日大于1998-1-1

mysql> SELECT *FROM pet WHERE species = 'dog' AND sex = 'f'; 同时匹配dog和f的筛选

mysql> SELECT *FROM pet WHERE species = 'snake' OR species = 'bird'; snake或者bird的匹配

mysql> SELECT *FROM pet WHERE (species = 'cat' AND sex = 'm')

-> OR (species = 'dog' AND sex = 'f');

AND和OR也可以混用,但AND比OR拥有更高的优先级。

筛选特俗的列:

mysql> SELECTname, birth FROM pet;  筛选name和birth列

mysql> SELECTowner FROM pet;   筛选owner列

mysql> SELECTDISTINCT owner FROM pet; 

筛选出owner里面每条的唯一记录,因为有可能有属于owner列的有同名比如下图中的Dog


选择特俗的行和列:

可以使用一个WHERE子句同时进行行选择与列选择。例如,要想查询狗和猫的出生日期,使用以下查询:

mysql> SELECTname, species, birth FROM pet 

    -> WHERE species = 'puffball' OR species= 'cat'; 不能用AND来连接,不然报空。


【数据的排序】

使用的是ORDER BY 子句

对各个宠物的名字按出生日期进行排序,即:

mysql> SELECT name,birthFROM pet ORDER BY birth;

由于字符串类型的数据对大小写并不敏感。

这意味着,对于大小写不同其他都一样的列,排序后的结果都不会更改。

这种情况下,可以使用BINARY强制执行区分大小写的排序功能,如:ORDERBY BINARY col_name


默认是升序的排列,当然如果想要降序排列,就用DESC降序关键字:

mysql> SELECT name,birthFROM pet ORDER BY birth DESC;

也可以对多个列进行排序,并且可以按不同方向对不同的列进行排序。

mysql> SELECTname, species, birth FROM pet

    -> ORDER BY species, birth DESC;

DESC关键字仅适用于在它前面的列名(birth);不影响species列的排序顺序。


0 0
原创粉丝点击