mysql基本知识---20151127-1

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;

上一篇:使用plsql_plprofiler 分析过程块的执行


下一篇:真正的门槛 - 全干工程师