mysql -h host -u $user -p $database; ====>使用$user用户名登陆数据库$database
mysql> CREATE DATABASE menagerie;====>创建数据库
mysql> GRANT ALL ON menagerie.* TO ;这里your_mysql_name是分配给你的MySQL用户名,your_client_host是所连接的服务器所在的主机。
show databases; ===>显示所有数据库
use database; ===>使用指定数据库
SHOW TABLES; ===>显示所有表
mysql>CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
-> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
======>创建数据库指定字段名称与长度
mysql> DESCRIBE pet; ====>描述表
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet;
=====>把文件中的数据插入表中
mysql> INSERT INTO pet -> VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL); ====>直接数据插入表
mysql> SELECT * FROM pet; ====>选择表所有数据
mysql> SELECT name, birth FROM pet;====>选择表所的指定列中的数据
mysql> DELETE FROM pet; ====>删除表数据
mysql> UPDATE pet SET birth = '1989-08-31' WHERE name = 'Bowser'; ====>更新表数据
mysql> SELECT DISTINCT owner FROM pet; ====>检索唯一数据
mysql> SELECT name, birth FROM pet ORDER BY birth DESC;=====>排序
______________________________________________________________________
mysql> SELECT name, birth, CURDATE(),
-> (YEAR(CURDATE())-YEAR(birth))
-> - (RIGHT(CURDATE(),5)
-> AS age
-> FROM pet;
=========>YEAR()提取日期的年部分,RIGHT()提取日期的MM-DD (日历年)部分的最右面5个字符。比较MM-DD值的表达式部分的值一般为1或0,如果CURDATE()的年比birth的年早,则年份应减去1。整个表达式有些难懂,使用alias (age)来使输出的列标记更有意义。
______________________________________________________________________
mysql> SELECT 1 = NULL, 1 <> NULL, 1 < NULL, 1 > NULL;
mysql> SELECT 1 IS NULL, 1 IS NOT NULL;
===============================================================>>>>>>
sql的模式匹配
SQL模式匹配允许你使用“_”匹配任何单个字符,
“%”匹配任意数目字符(包括零字符)。在 MySQL中,SQL的模式默认是忽略大小写的。
使用SQL模式时,不能使用=或!=;而应使用LIKE或NOT LIKE比较操作符。
例:
mysql> SELECT * FROM pet WHERE name LIKE 'b%';====>name列开头字母为b/B的行
mysql> SELECT * FROM pet WHERE name LIKE '%w%'; ====>name列包含字母w的行
mysql> SELECT * FROM pet WHERE name LIKE '_____'; ====>包含5个_的行
扩展正则表达式:
字符类“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。为了命名字符的范围,使用一个“-”。“[a-z]”匹配任何字母,而“[0-9]”匹配任何数字。
“ * ”匹配零个或多个在它前面的字符。例如,“x*”匹配任何数量的“x”字符,“[0-9]*”匹配任何数量的数字,而“.*”匹配任何数量的任何字符。
为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用“^”或在模式的结尾用“$”。
例:mysql> SELECT * FROM pet WHERE name REGEXP 'fy$';
注意:如果REGEXP模式与被测试值的任何地方匹配,模式就匹配(这不同于LIKE模式匹配,只有与整个值匹配,模式才匹配)。
mysql> SELECT * FROM pet WHERE name REGEXP '^.....$';====>正好五个字符
mysql> SELECT * FROM pet WHERE name REGEXP '^.{5}$';
<<<<<<<<<<<<<=================================================================
mysql> SELECT COUNT(*) FROM pet;=====>统计行
mysql> SELECT owner, COUNT(*) FROM pet GROUP BY owner;====>对owner列进行分组,统计每个owner 的行数
mysql> SELECT species, sex, COUNT(*) FROM pet GROUP BY species, sex;
阅读(1587) | 评论(0) | 转发(0) |