- 论坛徽章:
- 0
|
第三章 教程 3.1 连接和断开数据库 mysql -h host -u user -p host 和 user 分别代表mysql 服务器运行的主机名和mysql 账户用户名
quit 退出
3.2 输入查询 select version(), current_date; . 一个命令有sql 语句,随后跟着一个分号。 . 一条命令,一个回复。. 用表格方式显示查询输出。 . 命令不区分大小写。 . 一行可以多条命令。 . 较长命令可以写成多行,直到输入分号。
特殊提示符 > 接受新命令 -> 等待多行命令 '> 等待 ' "> 等待 "/*> 等待*/
3.3 创建并使用数据库 show databases; 显示服务器上的数据库
3.3.1 创建并选择数据库 create database databasname 创建数据库
use tablename
选择表
3.3.2 创建表 show tables 显示数据库中的表
create table pet (name varchar(20), owner varchar(20), *** varchar(2)); 创建表
describe pet; 显示表中的列的名称和类型
3.3.3 将数据装入表中 1. 通过txt文件导入文本文件每行包含一个记录,用定位符(tab)把值分开,并且以CREATE
TABLE语句中列出的列次序给出。对于丢失的值,你可以使用NULL值。为了在你的文本文件中表示这些内容,使用\N(反斜线,字母N) load data local infile 'pet.txt' into table pet;
2. insert insert into pet values("pufall", "diama", "hamer");
3.3.4 从表中检索信息 3.3.4.1 选择所有数据 select * from pet;
3.3.4.2 选择特殊的行 select * from pet where name = "browse";
3.3.4.3 选择特殊的列 select name, birth from pet; 增加关键字DISTINCT可以检索出每个唯一的输出记录
3.3.4.4 分类行 select name, birth from pet order by birth; 对于某一列,可以使用BINARY强制执行区分大小写的分类功能,如:ORDER
BY BINARY col_name order by 默认排序是升序,最小的值在第一。要想以降序排序,在你正在排序的列名上增加DESC(降序)关键字
3.3.4.5 日期计算 YEAR() 提取日期的年部分 MONTH() 提取日期的月部分
3.3.4.6 Null 值操作 NULL意味着“没有值”或“未知值”,且它被看作与众不同的值。不能用算术比较,应使用IS
NULL和IS
NOT NULL操作符。 如 1 is null 返回 0 在MySQL中,0或
NULL意味着假而其它值意味着真。NULL操作的常见错误是不能在定义为NOT
NULL的列内插入0或空字符串,事实上完全可以在定义为NOT
NULL的列内插入0或空字符串。
3.3.4.7 模式匹配 SQL模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零字符)。 在
MySQL中,SQL的模式默认是忽略大小写的。注意使用SQL模式时,不能使用=或!=;而应使用LIKE或NOT
LIKE比较操作符。 select * from pet where name like '%fy';
扩展正则表达式 一些字符是扩展正则表达式的一些字符是: 1.‘.’匹配任何单个的字符。 2. 字符类“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。为了命名字符的范围,使用一个“-”。“[a-z]”匹配任何字母,而“[0-9]”匹配任何数字。 3. “* ”匹配零个或多个在它前面的字符。例如,“x*”匹配任何数量的“x”字符,“[0-9]*”匹配任何数量的数字,而“.*”匹配任何数量的任何字符。 4. 在模式开始处使用“^”或在模式的结尾用“$”.
3.3.4.8 计数行 count() 计算行数 使用GROUP
BY对每个owner的所有记录分组,没有它,你会得到错误消息。
3.3.4.9 使用1个以上的表 SELECT p1.name, p1.***, p2.name, p2.***, p1.species
-> FROM pet AS p1, pet AS p2
-> WHERE p1.species = p2.species AND p1.*** = 'f' AND p2.*** = 'm';
3.4 获得数据库和表的信息 select database(); 显示当前使用的数据库
show tables; 当前数据库中的表
describe pet; 表中的列信息
3.5 在批处理模式下使用mysql 输入 : mysql < file; 输出 : mysql < file > sql.out;
3.6 常用查询的例子 |
|