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;

												

mysql基本知识---20151127-1的更多相关文章

  1. Mysql数据库知识-Mysql索引总结 mysql mysql数据库 mysql函数

    mysql数据库知识-Mysql索引总结: 索引(Index)是帮助MySQL高效获取数据的数据结构. 下边是自己整理的资料与自己的学习总结,,做一个汇总. 一.真的有必要使用索引吗? 不是每一个性能 ...

  2. Mysql存储过程知识,案例--mysql存储过程基本函数

    Mysql存储过程知识,案例: create procedure delete_setting(in p_settingid integer) begin delete from setting wh ...

  3. MySQL高级知识(十六)——小表驱动大表

    前言:本来小表驱动大表的知识应该在前面就讲解的,但是由于之前并没有学习数据批量插入,因此将其放在这里.在查询的优化中永远小表驱动大表. 1.为什么要小表驱动大表呢 类似循环嵌套 for(int i=5 ...

  4. MySQL高级知识(十五)——主从复制

    前言:本章主要讲解MySQL主从复制的操作步骤.由于环境限制,主机使用Windows环境,从机使用用Linux环境.另外MySQL的版本最好一致,笔者采用的MySQL5.7.22版本,具体安装过程请查 ...

  5. MySQL高级知识(十四)——行锁

    前言:前面学习了表锁的相关知识,本篇主要介绍行锁的相关知识.行锁偏向InnoDB存储引擎,开销大,加锁慢,会出现死锁,锁定粒度小,发生锁冲突的概率低,但并发度高. 0.准备 #1.创建相关测试表tb_ ...

  6. MySQL高级知识(十三)——表锁

    前言:锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的计算机资源(如CPU.RAM.I/O等)的争用外,数据也是一种供许多用户共享的资源.如何保证数据并发访问的一致性.有效性是 ...

  7. MySQL高级知识系列目录

    MySQL高级知识(一)——基础 MySQL高级知识(二)——Join查询 MySQL高级知识(三)——索引 MySQL高级知识(四)——Explain MySQL高级知识(五)——索引分析 MySQ ...

  8. MySQL高级知识(十二)——全局查询日志

    前言:全局查询日志用于保存所有的sql执行记录,该功能主要用于测试环境,在生产环境中永远不要开启该功能. 1.如何开启 #1.通过my.cnf配置开启该功能. 注:对my.cnf文件配置后,需重启my ...

  9. MySQL高级知识(十一)——Show Profile

    前言:Show Profile是mysql提供的可以用来分析当前会话中sql语句执行的资源消耗情况的工具,可用于sql调优的测量.默认情况下处于关闭状态,并保存最近15次的运行结果. 1.分析步骤 # ...

  10. MySQL高级知识(十)——批量插入数据脚本

    前言:使用脚本进行大数据量的批量插入,对特定情况下测试数据集的建立非常有用. 0.准备 #1.创建tb_dept_bigdata(部门表). create table tb_dept_bigdata( ...

随机推荐

  1. Java基础知识强化之IO流笔记82:NIO之 Pipe(管道)

    1. Java NIO 管道是2个线程之间的单向数据连接.Pipe有一个source通道和一个sink通道.数据会被写到sink通道,从source通道读取. 这里是Pipe原理的图示: 2. Pip ...

  2. 【Shell脚本学习21】Shell break和continue命令

    在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,像大多数编程语言一样,Shell也使用 break 和 continue 来跳出循环. break命令 break命令允许跳出所有循环(终止 ...

  3. 元数据metadata 对IO有多大影响

    日志文件系统(journaling file systems)可防止系统崩溃时导致的数据不一致问题.对文件系统元数据(metadata)的更改都被保存在一份单独的日志里,当发生 系统崩溃时可以根据日志 ...

  4. poj3211

    Washing Clothes Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 9654   Accepted: 3095 ...

  5. fiddler 记录一些以前不熟悉的东西

    fidddler已经用了3年了,一般就是抓包,看基本的信息,然后就是本地文件替换网络文件. 然后有一些很有用的东西的却没有深入的学习过.  -_-!. 抓https的包 fiddler的过滤器的使用 ...

  6. 使用T4为数据库自动生成实体类

    T4 (Text Template Transformation Toolkit) 是一个基于模板的代码生成器.使用T4你可以通过写一些ASP.NET-like模板,来生成C#, T-SQL, XML ...

  7. C#垃圾回收机制

    C#属于托管的面相对象的语言,内存回收机制就是一个代表, C#有一套类似"全自动"的垃圾回收机制,也就是虚拟机会自动来判断执行内存的回收, 我们一般常用的Dispose(),Usi ...

  8. ORACLE的分组统计之ROLLUP(一)

    Oracle 9i以后,扩展了group by 的功能,能够满足大部分多维数据的分析统计功能,主要表现: 1. rollup,cube,grouping sets 扩展group by字句提供了丰富的 ...

  9. js点击button按钮跳转到页面代码

    点击按钮怎么跳转到另外一个页面呢?我们在网站制作中可能是需要的,因为有时我们需要做这样的效果,尤其是将按钮做成一个图片,而点击图片要跳转到新的页面时,怎么做到呢? 这样的效果可以:onclick=&q ...

  10. mysql一对多关联查询的时候筛选条件

    mysql实现users 表和 logoin_log表是一对多, 现在是把user的信息找出来 关联上一些 logoin_log表的数据, 因为a表是多的一方,要多他的数据进行一些条件匹配,这个sql ...