MySQL Cookbook学习笔记第一章

1,create databse cookbook

2,给数据库cookbook创建一个用户burness,密码为123456

grant  all on cookbook.* to ‘burness’on ‘localhost’ identified by ‘123456’

3,生成一个备份

mysqldump –h localhost –u burness –p cookbook > cookbook.sql

生成的cookbook.sql内容如下:

-- MySQL dump 10.13  Distrib 5.5.25, for Win64 (x86)
--
-- Host: localhost    Database: cookbook
-- ------------------------------------------------------
-- Server version	5.5.25

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `couter`
--

DROP TABLE IF EXISTS `couter`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `couter` (
  `depth` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `couter`
--

LOCK TABLES `couter` WRITE;
/*!40000 ALTER TABLE `couter` DISABLE KEYS */;
INSERT INTO `couter` VALUES (1);
/*!40000 ALTER TABLE `couter` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `limbs`
--

DROP TABLE IF EXISTS `limbs`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `limbs` (
  `thing` varchar(20) DEFAULT NULL,
  `legs` int(11) DEFAULT NULL,
  `arms` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `limbs`
--

LOCK TABLES `limbs` WRITE;
/*!40000 ALTER TABLE `limbs` DISABLE KEYS */;
INSERT INTO `limbs` VALUES ('human',2,2),('insect',6,0),('squid',0,10),('octopus',0,8),('fish',0,0),('centipede',100,0),('table',4,0),('armchair',4,2),('phonograhp',0,1),('tripod',3,0),('Peg Leg Pete',1,2),('space alien',NULL,NULL);
/*!40000 ALTER TABLE `limbs` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2014-04-25 20:41:18

4,mysql从文件中读取语句

mysql cookbook < filename

eg:mysql cookbook < limbs.sql

limbs.sql内容如下:

drop table if exists limbs;
create table limbs
(
	thing varchar(20),
	legs int,
	arms int
);

insert into limbs (thing,legs, arms) values('human',2,2);
insert into limbs (thing,legs, arms) values('insect',6,0);
insert into limbs (thing,legs, arms) values('squid',0,10);
insert into limbs (thing,legs, arms) values('octopus',0,8);
insert into limbs (thing,legs, arms) values('fish',0,0);
insert into limbs (thing,legs, arms) values('centipede',100,0);
insert into limbs (thing,legs, arms) values('table',4,0);
insert into limbs (thing,legs, arms) values('armchair',4,2);
insert into limbs (thing,legs, arms) values('phonograhp',0,1);
insert into limbs (thing,legs, arms) values('tripod',3,0);
insert into limbs (thing,legs, arms) values('Peg Leg Pete',1,2);
insert into limbs (thing,legs, arms) values('space alien',NULL,NULL);

或者使用source ,eg : source test.sql

5,mysql还能使用pipe使用程序的查询命令

6,输出重定向:-H -X可以生成HTML,XML内容

mysql  -u burness –p cookbook -e “select * from limbs where legs=0” >1.txt

mysql –H -u burness –p cookbook -e “select * from limbs where legs=0” >1.html

mysql –X -u burness –p cookbook -e “select * from limbs where legs=0” >1.xml

imageimage

7,当过长的查询输出到屏幕需要一行来垂直地显示输出使用\G代替;

select * from limbs\G

image

8,记录交互式的mysql对话

mysql –u burness –p cookbook --tee=tmp.out cookbook

\T tmp.out

记录的命令及显示会输出到tmp.out

\t来停止记录

tmp.out 内容如下:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 5.5.25 MySQL Community Server (GPL)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> \T tmp.out
mysql> use cookbook;
Database changed
mysql> select * from limbs;
+--------------+------+------+
| thing        | legs | arms |
+--------------+------+------+
| human        |    2 |    2 |
| insect       |    6 |    0 |
| squid        |    0 |   10 |
| octopus      |    0 |    8 |
| fish         |    0 |    0 |
| centipede    |  100 |    0 |
| table        |    4 |    0 |
| armchair     |    4 |    2 |
| phonograhp   |    0 |    1 |
| tripod       |    3 |    0 |
| Peg Leg Pete |    1 |    2 |
| space alien  | NULL | NULL |
+--------------+------+------+
12 rows in set (0.00 sec)

mysql> \t

9,在mysql中使用自己定义的变量

@ var_name : value

eg: select @id := cust_id from customers where cust_id=’customer name’;

delete from orders where cust_id=@id;

delete from custers where cust_id=@id;

posted @ 2014-04-25 21:01  小石头@shu  阅读(294)  评论(0编辑  收藏  举报