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;
mysql基本知识---20151127-1的更多相关文章
- Mysql数据库知识-Mysql索引总结 mysql mysql数据库 mysql函数
mysql数据库知识-Mysql索引总结: 索引(Index)是帮助MySQL高效获取数据的数据结构. 下边是自己整理的资料与自己的学习总结,,做一个汇总. 一.真的有必要使用索引吗? 不是每一个性能 ...
- Mysql存储过程知识,案例--mysql存储过程基本函数
Mysql存储过程知识,案例: create procedure delete_setting(in p_settingid integer) begin delete from setting wh ...
- MySQL高级知识(十六)——小表驱动大表
前言:本来小表驱动大表的知识应该在前面就讲解的,但是由于之前并没有学习数据批量插入,因此将其放在这里.在查询的优化中永远小表驱动大表. 1.为什么要小表驱动大表呢 类似循环嵌套 for(int i=5 ...
- MySQL高级知识(十五)——主从复制
前言:本章主要讲解MySQL主从复制的操作步骤.由于环境限制,主机使用Windows环境,从机使用用Linux环境.另外MySQL的版本最好一致,笔者采用的MySQL5.7.22版本,具体安装过程请查 ...
- MySQL高级知识(十四)——行锁
前言:前面学习了表锁的相关知识,本篇主要介绍行锁的相关知识.行锁偏向InnoDB存储引擎,开销大,加锁慢,会出现死锁,锁定粒度小,发生锁冲突的概率低,但并发度高. 0.准备 #1.创建相关测试表tb_ ...
- MySQL高级知识(十三)——表锁
前言:锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的计算机资源(如CPU.RAM.I/O等)的争用外,数据也是一种供许多用户共享的资源.如何保证数据并发访问的一致性.有效性是 ...
- MySQL高级知识系列目录
MySQL高级知识(一)——基础 MySQL高级知识(二)——Join查询 MySQL高级知识(三)——索引 MySQL高级知识(四)——Explain MySQL高级知识(五)——索引分析 MySQ ...
- MySQL高级知识(十二)——全局查询日志
前言:全局查询日志用于保存所有的sql执行记录,该功能主要用于测试环境,在生产环境中永远不要开启该功能. 1.如何开启 #1.通过my.cnf配置开启该功能. 注:对my.cnf文件配置后,需重启my ...
- MySQL高级知识(十一)——Show Profile
前言:Show Profile是mysql提供的可以用来分析当前会话中sql语句执行的资源消耗情况的工具,可用于sql调优的测量.默认情况下处于关闭状态,并保存最近15次的运行结果. 1.分析步骤 # ...
- MySQL高级知识(十)——批量插入数据脚本
前言:使用脚本进行大数据量的批量插入,对特定情况下测试数据集的建立非常有用. 0.准备 #1.创建tb_dept_bigdata(部门表). create table tb_dept_bigdata( ...
随机推荐
- [Java] log4j异常输出到日志
当程序运行异常时,e.printStackTrace()会打印出异常.但是很多时候我们希望将这些异常输出到日志中,以便日后可以随时查看到,可以通过这些异常快速的找到程序发生异常的代码. 那么有办法可以 ...
- c++ STL:队列queue、优先队列priority queue 的使用
说明:本文全文转载而来,原文链接:http://www.cppblog.com/wanghaiguang/archive/2012/06/05/177644.html C++ Queues(队列) C ...
- 查询score中选学多门课程的同学中分数为非最高分成绩的记录。
20.查询score中选学多门课程的同学中分数为非最高分成绩的记录. select * from score a where sno in ( select sno from score group ...
- 数据库自定义表值函数Split(@LongStr, @SplitStr, @IsDistinct )
CREATE FUNCTION [dbo].[F3_Split](@LongStr VARCHAR(MAX),@SplitStr VARCHAR(100),@IsDistinct BIT)RETURN ...
- 基于JQuery的渐隐渐现轮播
<div id="ads"> <div> <!--轮播图片--> <ul> <li><a href="# ...
- html5 之 canvas 相关知识(二)API-fillStyle
颜色.样式和阴影 fillStyle 设置或返回用于填充绘画的颜色.渐变或模式 定义和用法 context.fillStyle=color|gradient|pattern;//指示绘图填充色的CSS ...
- Redis中hash表中的field的value自增可以用hincrby
Redis HINCRBY命令用于增加存储在字段中存储由增量键哈希的数量.如果键不存在,新的key被哈希创建.如果字段不存在,值被设置为0之前进行操作. 回复整数,字段的增值操作后的值. redis ...
- asp.net mvc @RenderBody()的问题
在使用.net mvc 母版页布局时如果是进行上中下三块布局的话,那么就会像下面的图那样: 在上面的div 和下面的div之间会出现4cm的间隔, 解决如下: 给包裹@RenderBody()的div ...
- GridViewDemo
GridViewDemo:网格示例 GridView标签内定义列宽,android:columnWidth="120dp". getView()内定义每一个ImageView的大小 ...
- MySQL选择数据库use与mysql_select_db使用详解
在mysql中如果我们在命令模式下选择与切换数据库直接使用use即可,在php中选择数据使用mysql_select_db即可,下面我来介绍一下. 从命令提示符,选择MySQL数据库: 这 ...