mysql介绍
mysql 是一个关系型数据库管理系统,是mysqlAB(瑞典)开发,现在属于oracle公司,是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有的数据放在一个大仓库中,增加了速度并且提高了灵活性
简单信息
select version(),current_date;可以查询mysql当前的版本号和当前的日期 输入\c可以将正在输入过程的sql语句终止
下面表中是mysql常见的提示符
提示符 | 含义 |
---|---|
mysql> |
准备好接受新的命令 |
-> |
等待多行命令的下一行 |
'> |
等待以单引号开始的字符串的结束 |
"> |
等待以双引号开始的字符串的结束 |
``>` | 等待以反斜点开始的识别符的结束 |
/*> |
等待以/*开始的注释的结束 |
创建数据库
显示数据库 : show databases; 创建数据库: create database database_name; 使用数据库: use database_name;
创建数据表
创建数据表:create table table_name (column1 类型,column2 类型,...); 显示创建数据表基本信息:describe table_name;或者desc table_name; 显示创建数据库的sql语言:show create table table_name;
添加数据到数据表
(1)将数据记录创建成一个txt文件,每一行包含一个记录,用tab定位符把值分开,对于丢失的值使用\N或者NULL表示, 加载记录的sql语句是:load data local infile '/yz/home/text_name.txt' into table table_name lines terminated by '\r\n'; (2)一次添加一条记录可以使用insert语句,最简单的形式是:提供的每一列值,顺序和create table语句中的列的顺序一致 insert into table_name values ('','','','','',NULL);
检索信息
选择表中的所有的记录:select * from table_name; 更新数据:update table_name set column1='new value' where index条件; 使用关键字distinct 检索出一条唯一的输出记录:select distinct column_name from table_name; 使用关键字order by 按照某一种顺序进行排序:select column_name from table_name order by index条件; 可以使用关键字binary使得字符串类型的数据按照大小写排序:select column_name from table_name order by binary index条件; mysql默认的排序是升序,也就是最小的值排在最前面,使用关键字desc可以进行降序排序,desc关键字仅适用于它前面的列名,不影响多列排序时候其他列的排序,select * ffrom table_name order by column1, column2 desc;
日期计算
计算年限可以使用函数timestampdiff()函数:select timestampdiff(year,birthday,curdate()) as age from table_name; 其中year 表示计算出的时间差表示以年为单位,curdate()可以得到现在的日期 函数year()可以提取出日期的年部分,同样的,month()可以提取出日期的月部分,dayofmonth()可以提取出日期的day 部分 查询的时候,比较数据值是否是NULL,使用column_value is not NULL,不能使用column_value != NULL
NULL值的操作
查询的时候,比较数据值是否是NULL,使用column_value is not NULL,不能使用column_value != NULL 在group by 中,两个null值被视为相同等价的 在order by 中,默认情况下null会出现在最前面
模式匹配
mysql提供标准的sql模式匹配和vi中的扩展正则表达式模式匹配的模式, "_"匹配任何单个字符,"%"匹配任意数目字符(包含零字符) mysql的默认模式是忽略大小写的,使用比较操作符like ,not like 而不是= ,!=进行模糊匹配 select * from table_name where column1 like '%value'; 如果想要找到包含5个字符的名字,可以使用"_"模式字符:select * from table_name where column1 like '_____'; 当需要使用到扩展正则表达式的时候,使用regexp(regular expression) 关键字,扩展正则表达式的常见字符是: '.'匹配任何单个的字符 [...]匹配在方括号中的任何字符,[a-z]匹配任何的字母,[0-9]匹配任何的数字 在模式的开始出使用'^',结尾处使用'$'
计算行数,联表查询
使用count , group by 进行数据的分类计算