1.关于创建数据库和使用数据库。
在进行插入表项目,删除表,修改表项目的话,都需要对于指定多的一个表来操作。而每一个表(table)都要属于一个数据库中,一个数据库中也有可能有很多的表,于是,就需要在使用之前,先创建并使用一个数据库。命令是:
创建:create database 数据库表名;
使用数据库:use database 数据库表名;
删除数据库:drop database 数据库表名;
注意的一点就是,使用数据库这一步,一定不能够缺少。否则就会出现很多错误,最基本的就是很基础的命令在这个格式下是无法识别的。
关于数据库名的一个小问题就是:在Linux下面,是有大小写区分的,所以就是说,在创建一个数据库的时候,s1和S1是有区别的,而且在后面命令中,如果要使用这个数据库,那么就必须注意是大写还是小写了。但是,对应的,MySQL是不区分大小写的,也就是说,在一个数据库创建成功后,如果我要创建一个table,或者插入一项内容,那么项目名是没有大小写之分的,SNAME和sname是一样的。
于是:select sname from S1;和select SNAME from S1表示的是相同的意义。(对比的是,select sname from s1却是不同的,也就是说,对于创建的一个table是区分大小写的,表S1和s1是不同的!)
在使用完数据库后,如果没有必要再次保存的话,就可以删除,采用的是前面的drop命令,注意如果没有删除,那么该数据库是会保存到系统中的,下次启动的时候还是会有该数据库及记录!
2.MySQL自带的一些函数。
进入MySQL: 终端下输入:mysql -p -u 用户名 ,然后输入密码进入之后就可以进行相关操作。
1.now,user,version函数的使用
Select now() ; //将会显示当前的时间
Select version(); //将回想显示版本信息
Select user(); //显示用户名
2.显示数据库的某个项目的详细信息。
Show fields from S1; //显示表S1的组成信息
Show columns from xx like '%name'; //显示包含name名的列。
3.AUTO_INCREMENT:保证数据项独一无二,也就是对于某个ITEM,如果没有填写它的值,那么就会默认的在该地方让该项目为增加1.
4.可以使用外部的sql文件来作为sql的输入,也就是在终端中输入:
Mysql -p -u root < test.sql
进入sql中之后:Sourece test.sql
比如对于下面的这个test1.sql文件就这样编辑:
create database Test;
use Test;
show databases;
create table S(
SNO CHAR(10),
PNO CHAR(10),
TIM CHAR(10));
insert into S values('TEST','hjack','hel');
show table S;
5. enum:枚举类型,初始化值可以是:ENUM(‘F’,‘T’)
6. if函数的使用:
Select last_name, first_name death from president
Order by IF(death is NULL,0,1),death;
这句语句的意义就是,让先为NULL的放在前面,而没有NULL的放在后面。
7.限制查询的次数
Select last_name,first_name,birth from president
Order by birth limit 5;(显示前面的5个)
Order by birth DESC limit 5;(显示后面的5个)
Order by birth limit 10,5;(跳过前10个后的5个数据)
Order by RAND() limit 1;(随机选择一个数据)
8.输出列求值并命名
Select 17 ,format(SQRT(3*3+4*4,0));
Select concat(first_name,' ',last_name),concat(city,' ',state);
上面的列名就是使用的select后面的列名,比如17列,然后对该列处理,使用了相应的函数
此即为第一次的结果。
如果想使用有意义的别名,就用AS来定义新的名称
Select concat(first_name,' ',last_name) AS name from S1;
insert into S1 values('001','Jam','Smith',now());
select concat(first_name,' ',last_name) AS Name from S1;
8.时间处理
MySQL中有很多时间处理的函数,排序,比较,取日,取月……
简单说几个常用的。
前面用到了now()函数,现在还有CURDATE(),TODAYS()
CURDATE():获取当前的日期
TODAYS(): 将当前的日期转换成天数
MONTH():取当前的月
DAYOFMONTH():取当前时间的天数
posted on 2010-06-08 13:55
deercoder 阅读(591)
评论(0) 编辑 收藏 引用 所属分类:
SQL