2015年11月27日,作为PHPer的我开始全面学习mysql数据库。
基本语法:
1、连接服务器:
mysql>mysql -h host -u root -p
回车 输入密码(本地环境可以不输入 -h host)
2、show databases;
查询所在服务器的所有数据库并显示
3、create database dbname;
例如: create database shop;
4、use dbname;
使用数据库,例如: use shop;使用shop数据库
5、 只有数据库存在,并且 use,才能进行操作
下面创建 user数据表
create table user(
id int(4) auto_increment,#字段id 4个长度
user varchar(20) not null,#
age tinyint(3) not null,
sex enum('m','f') not null,
ctime datetime not null,
primary key(id)
)Engine=InnoDB Default character set=utf8;
6、如果不知道怎么玩,输入 help contents;
不停地输入 help **; #**代表msyql提示的内容
7、查看当前mysql版本 select version();
查看当前用户:select user();
查看当前数据库:select database();
8、取消当前行的输入 ,键入 \c 回车
9、显示表的所有记录:select * from user;
描述表的结构: desc user;
10、条件操作(选择行--记录)
mysql> SELECT * FROM pet WHERE name = 'Bowser'; //查找name字段中等于Bowser的记录
mysql> SELECT * FROM pet WHERE birth > '1998-1-1';//查找birth字段中大于指定年份的所有记录
mysql> SELECT * FROM pet WHERE species = 'dog' AND sex = 'f'; //查找种类为dog并且是母的记录---AND操作符
SELECT * FROM pet WHERE species = 'snake' OR species = 'bird';//查找各类为 snake或者 bird的记录---OR操作符 AND和OR可以混用,但AND比OR具有更高的优先级。如果你使用两个操作符,使用圆括号指明如何对条件进行分组是一个好主意。如下:
mysql> SELECT * FROM pet WHERE (species = 'cat' AND sex = 'm')
-> OR (species = 'dog' AND sex = 'f');
11、条件操作(选择列--字段)mysql> SELECT name, birth FROM pet; //选择 2个字段 ,中间用逗号分开
mysql> SELECT owner FROM pet; //选择单个字段 请注意该查询并不能保证数据的一致,增加关键字DISTINCT检索出每个唯一的输出记录:。如下:mysql> SELECT DISTINCT owner FROM pet; 可以使用综合语句(10、11),同时查询行和列,如不:
mysql> SELECT name, species, birth FROM pet
-> WHERE species = 'dog' OR species = 'cat';
12、分类行 ORDER BY 语句 mysql> SELECT name, birth FROM pet ORDER BY birth;
在字符类型列上,与所有其他比较操作类似,分类功能正常情况下是以区分大小写的方式执行的。
这意味着,对于等同但大小写不同的列,并未定义其顺序。对于某一列,可以使用BINARY强制执行区分大小写的分类功能,
如:ORDER BY BINARY col_name.
默认排序是升序,最小的值在第一。要想以降序排序,在你正在排序的列名上增加DESC(降序 )关键字:
SELECT name, birth FROM pet ORDER BY birth DESC;
可以对多个列进行排序,并且可以按不同的方向对不同的列进行排序。例如,按升序对动物的种类进行排序,然后按降序根据生日对各动物种类进行排序(最年轻的动物在最前面), 使用下列查询:(注意DESC关键字仅适用于在它前面的列名(birth);不影响species列的排序顺序。)
mysql> SELECT name, species, birth FROM pet
-> ORDER BY species, birth DESC;