mysql的使用1-linux

计算机中要处理大量的信息,而这些信息采用什么方式保存是一个关键的问题。在应用程序中,
若需要处理大量的数据,通常都使用数据库来保存这些数据。
目前Internet上流行的网站架构方式称为LAMP,就是用linux+Apache+Mysql+php,来架构网站,
其中linux作为操作系统,Apache作为Web服务器,Mysql作为数据库,php作为服务端脚本解释器。
Mysql能得到快速发展,与其具有移植性,开源等特点是分不开的。
总结起来,Mysql具有一起特点:
1.同时访问数据库的用户数量不受限制。
2.可以同时处理上千万条记录的数据库,对于绝大多数应用都已经足够。
3.运行速度快。
4.用户权限设置简单,有效。
5.使用c和c++编写,使用了多种编译器进行测试,保证了源代码的可移植性。
6.支持多种操作系统平台。
7.提供多种程序语言的接口,包括c,c++,java,php等。
8.支持多线程,可充分利用cpu资源。
9.支持多种网络协议,提供TCP/IP,ODBC,JDBC等多种数据库连接途径。
msql可以采用源码安装也可以采用采用RPM包来安装。
安装mysql是常常会出现依赖错误的情况,这是就需要根据错误提示信息逐个安装有依赖关系的安装包。
默认安装目录
将mysql安装到系统后,相关文件被分散在多个目录,很有必要了解这些文件所处的位置,下面列出
几个重要的目录。
1.服务进程启动目录:/etc/rc.d/init.d/,在linux中,该目录用来保存服务程序的启动进程,  mysql的服务启动命令mysqld也保存在这里。
2.操作命令目录:/usr/bin/,在该目录中,保存着对数据库进行操作的命令,如用mysql命令可登陆  到服务器进行操作。
3.配置文件目录:/usr/share/mysql/,在该目录中,保存着mysql服务器程序使用的各种配置文件,
4.数据库目录:/var/lib/mysql/,在该目录中保存着mysql服务器管理的数据库(可以有多个数据库  ),每一个数据库又以一个子目录的形式存在。

 

mysql基本操作
设置数据库管理员密码
默认情况下,数据库有一个名为root的用户,该用户初始状态下为无密码。在使用之前,对该用户

设置密码,是很重要的操作。
可以使用mysqladmin 命令来为数据库用户设置密码
mysqladmin -u 用户名 -p 旧密码 password 旧密码
登录数据库用:
mysql [-u username] [-h host] [-p [password]] [dbname]
mysql的使用1-linux_第1张图片



-u username:设置mysql用户名,初始管理员账户root (不是登录到linux的系统管理员)。
-h host:设置运行数据库服务进程计算机的域名或者IP地址。
-p[password]:对应用户密码。
dbname:操作数据库的名称,在操作过程中也可以切换操作的数据库。
如果未设置数据库管理员root的密码,直接输入mysql就可进入数据库操作界面
退出登录用quit.
查看数据库库名称列表
mysql的使用1-linux_第2张图片
不要忘了在语句最后输入一个分号,若未输入分号就按Enter键,mysql将在下一行等待用户输入命令的后序内容,这是输入一个分号,再按Enter键即可。
show databases;语句将只显示当前帐户有权操作的数据库,对于无权操作的数据库,将不会显示出来。
系统里面自带了4个数据库
我们先打开其中的stu

查看表名列表
mysql的使用1-linux_第3张图片
查看表结构
mysql的使用1-linux_第4张图片

遍历表
mysql的使用1-linux_第5张图片

新建数据库
mysql的使用1-linux_第6张图片mysql的使用1-linux_第7张图片

新创建的数据库中都会有红色部分。

删除数据库


新建表



查看表结构
mysql的使用1-linux_第8张图片

增加字段
对于表,可以看成是由列和行构成的,其中“经常被称为字段;
如果想增加在表的第一个位置添加一个字段 那么就在属性类型后面添加first。

在表的最后一个位置添加字段
mysql的使用1-linux_第9张图片

删除表 drop table 表名1,表名2;

向表中新增记录
mysql的使用1-linux_第10张图片

查看记录
mysql的使用1-linux_第11张图片

删除记录

mysql的使用1-linux_第12张图片
Mysql数据导入导出

首先介绍导出
可以将数据库中指定表的记录导出为文本文件,从而达到备份的目的。
将Mysql数据导出为文本文件的命令是mysqldump,这是在linux的shell状态下执行的命令,不是mysql环境中执行的语句。
该命令的格式为:
mysqldump -u 用户名 -p 数据库名 表名

这儿密码不用输入,因为我没有设密码,直接按Enter键。
-- MySQL dump 10.13  Distrib 5.1.61, for redhat-linux-gnu (i386)
--
-- Host: localhost    Database: student
-- ------------------------------------------------------
-- Server version    5.1.61

/*!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 `info`
--

DROP TABLE IF EXISTS `info`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `info` (
  `sno` varchar(10) DEFAULT NULL,
  `name` varchar(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `info`
--

LOCK TABLES `info` WRITE;
/*!40000 ALTER TABLE `info` DISABLE KEYS */;
INSERT INTO `info` VALUES ('3','lei'),('1','zhang');
/*!40000 ALTER TABLE `info` 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 2015-05-23  6:15:05
stu_info_dump.db
以上命令导出数据库student中的表info中的内容,命令中将mysqldump命令的输出作了一个重定向,保存在stu_info_dump.db文件中。
从上面文件的内容可以看出,导出的数据实际上是创建的表的语句,生成插入数据的语句等内容,本例中只导出student数据库中一个表。
执行导出的脚本文件中的语句即可恢复数据库或表。

 数据导入

mysql可将外部具有规定格式的数据导入到数据库中。

可将符合规则格式的文本数据导入到数据库对应的表中。所谓的符合规则格式的文件,是指文本文件按导入表的字段数据类型按行输入数据,文本文件中的每一行对应表中一条记录,而用Tab符隔开的每一部分对应记录中的每一个字段。如果不知道数据库中导入表的字段顺序规则,最好先使用describe语句查看表的结构。

具体步骤:

 

 

mysql的使用1-linux_第13张图片

最后是个空行,注意下

mysql的使用1-linux_第14张图片

用vim编辑器按info表中字段顺序编写一个文本文件data.txt,每个域之间用制表符Tab进行分割,每行为一条记录。

提示1.最好用vim编辑器,不要用记事本操作,会出现意想不到的错误。

提示2.最好将文件保存到当前工作目录,且当前用户对该文件具有操作权限。 

 

存储引擎

显示当前数据所支持的存储引擎

mysql的使用1-linux_第15张图片

comment参数表示关于存储引擎的评论;transactions参数表示存储引擎是否支持事物YES表示支持,NO表示不支持。XA参数表示存储引擎所支持的分布式是否符合XA规范,savepoints参数表示存储引擎是否支持事物处理中的保存点,其中YES表示支持,而值NO表示不支持。

创建视图

查看视图

 mysql的使用1-linux_第16张图片

通过查看系统表infomation_schema.views来查看视图对象view_select的相关信息的功能

mysql的使用1-linux_第17张图片

操作表的约束

mysql的使用1-linux_第18张图片

 mysql的使用1-linux_第19张图片

创建和查看索引

在上述语句中,创建表dep_index的同时设置了关于字段depno的索引对象index_depno.

为了校验数据库表dep_index中索引是否创建成功,执行

mysql的使用1-linux_第20张图片

 

创建存储过程

 画横线部分应该中间用空格隔开delimiter ;

通常在创建存储过程时,通过命令"delimiter $$"将SQL语句的结束符由";"符号修改为$$.这主要是因为SQL语句中默认语句结束符为分号(;),即存储过程中的SQL语句

也需要用分号来结束,当将结束符号修改成"$$"符号后就可以在执行过程中避免冲突。不过最后一定不要忘了通过命令"delimiter ;"将结束符号修改为SQL语句中默认的结束符号。

mysql的使用1-linux_第21张图片

 drop procedure pro_dept;//删除存储过程。

你可能感兴趣的:(linux)