一、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列的排序顺序。