当前位置: 首页 > news >正文

MYSQL 的一些基本操作

MYSQL 的一些基本操作

首先进入mysql的编辑环境
一.基本应用
1. 显示mysql的版本,当前日期
Mysql > select version(),current_date;
 
2:利用mysql来计算md5加密,计算一些数值
Mysql > select md5(‘welefen’),sin(pi()/4);//加密字符串welefen;执行sin( );
 
3:显示用户下所有的数据库
Mysql > show databases;
4:显示某个数据库下所有的数据表
Mysql > use welefen;
Mysql > show tables;
 
5:显示某个数据表中所有的字段;
Mysql > describe userinfo;//显示userinfo表中所有的字段
 
6:向数据表userinfo中插入数据
Mysql > set character_set_client=’gb2312’;//设置字符的编码,如果不设置的话,极有可能会出现乱码的情况;
现在假设我们有一条要插入到数据库中,例如:
姓名:张三;密码:zhangsan;Email:zhangsan@gmail.com;出生日期:1986年10月12日
地址:武汉市武汉科技大学学四舍;qq:86503236;
Myslq > insert into userinfo values (1,’张三’,md5(‘zhangsan’),’zhangsan@gmail.com’,’1986-10-12’,’武汉市武汉科技大学学四舍’,86503236);
下面我们来看看我们刚才插入的数据正确;
7:从数据表中取数据
  (1):取出所有的数据;
  Mysql > select * from userinfo;
  (2) 取出符合条件的数据
   假如现在我要取出姓名为李四的信息
  Mysql > select * from userinfo where us_name=’李四’;
 
  (3) 取出符合条件的数据的一些信息
  假如现在我们要取出出生日期为1986-10-12的姓名和地址
  Myslq > select us_name,us_address from userinfo where us_born=’1986-10-12’;
 
(4)其他信息:例如我们想知道用户
现在是多少岁了
Mysql > select us_name,(year(curdate())-year(us_born))-(right(curdate,5)-right(us_born,5))  as age from userinfo;
 
(5)查询结果排序 ,只显示从什么位置到什么位置的结果(结果请大家根据自己的查看,这里就不显示了)
Mysql > select us_name,(year(curdate())-year(us_born))-(right(curdate,5)-right(us_born,5))  as age from userinfo order by age asc limit 0,2;
 (6)模糊查询,通过使用like或者用regexp
  Mysql > select * from userinfo where us_address like ‘%武%’;//或者用regexp ‘武’
8:更新数据库中的数据
Mysql > update userinfo set us_passwd=md5(‘zhangsan1’),us_born=’2006-5-20’ where us_name=’张三’;
9:删除数据表中的数据
Mysql > delete from userinfo where us_name=’张三’;
10:删除整个数据表
Mysql > drop table welefen;
11:删除整个数据库
Mysql > drop database welefen;
二:高级应用
1.1:创建用户//创建一个用户名为welefen密码为welefen的用户
Mysql > grant all
     > on *
     > to welefen identified by ‘welefen’
     > with grant option;
1.2:将文件中的数据插入到数据表中
Mysql > load data local infile ‘E:/php/welefen.sql’ into table userinfo
     > lines terminated by ‘\r\n’;
  (或者用source E:/php/welefen.sql,这是将数据导入到整个数据库中)
2.1通过工具来实现一些应用
Phpmyadmin 是一个很方便地对mysql进行操作的脚本,它能够创建数据库,数据表等
配置它也是相当的简单,只要将class.inc.php里的用户名和密码改成有效的就可以了
3.1通过php脚本来进行数据的导入
<?php
if (file_exists("db.sql"))//检查这个文件是否存在,存在的话才执行下一步
{
 $file=file_get_contents("db.sql");//打开这个文件,并把内容作为一个字符船返回
 $sql=explode(';',$file);//通过分号将字符串分成一个数组
 $num=count($sql);
mysql_connect("localhost","root","passwd");//数据库连接
 for ($i=0;$i<$num;$i++)
 {
  $result=@mysql_query($sql[$i]);
  if (!$result) {echo “failure.”;exit;}
 }
}
?>
这个脚本是相当简单的,如果你紧紧想把数据导入到数据库,我想这样就已经足够了,当然如果你做的是一些大的项目,可能在此基础上有些修改。如果你有什么比较好的建议,希望你回馈给我,我也只是新手,也还要大量的学习,希望多交流。
3.2通过php脚本进行数据的备份
<?php
mysql_connect("localhost",'root','welefen');//数据库连接
mysql_select_db('welefen');//选择数据库
$query='show tables';//显示该数据库下所有的数据表
$query=mysql_query($query);//执行查询语句
while ($re=mysql_fetch_row($query))
{
 $str='drop table if exists '.$re[0].';<br>';
 echo $str;
 $query1="show create table ".$re[0];//显示该数据表的结构
 $query1=mysql_query($query1);
 $re2=mysql_fetch_row($query1);
 echo $re2[1].';';
 $query8="select * from ".$re[0];//查询所有的数据
 $query8=mysql_query($query8);
 $str1="insert into ".$re[0].'values(';
 while ($re1=mysql_fetch_row($query8))
 {
  $num=count($re1);
  
  for ($i=0;$i<$num;$i++)
  {
   $str1.= $re1[$i].',';
  }
  $str1.=');';
 }
 echo $str1.'<br>';
}
?>
这个脚本只是简单的说明了备份数据库的过程,自己写的,水平有限,望大家提出好的意见。不过在真正做项目的时候,最好将备份写成class,既有条理又方便。

以上是关于mysql数据库的一些基本的操作,写的比较简单,可能有些错误,还望大家指正。谢谢!!!

相关文章:

  • Alpine上安装Docker引擎
  • glulookat函数
  • oracle执行一条插入语句一直执行
  • SAP QM Batch to Batch的转移过账事务中的Vendor Batch
  • addMusic 和playMusic(AVAudioPlayer)
  • 12:Web及MySQL服务异常监测案例
  • 一个***的自白:年赚两三百万 生活纸醉金迷(3)
  • weex 项目开发(四)项目框架搭建 及 自定义 TabBar 组件
  • 项目规划管理 - 1
  • C# DLL资源文件打包(图片、JS、CSS)[WebResource]
  • 阅读摘要
  • 浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色
  • exchange日常管理之十五:报550错误
  • 12. ZooKeeper之Java客户端API使用—创建会话。
  • 安装office2007 1706错误
  • CentOS7简单部署NFS
  • Docker下部署自己的LNMP工作环境
  • ES6 学习笔记(一)let,const和解构赋值
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • react-native 安卓真机环境搭建
  • React-redux的原理以及使用
  • XForms - 更强大的Form
  • 闭包--闭包作用之保存(一)
  • 二维平面内的碰撞检测【一】
  • 技术:超级实用的电脑小技巧
  • 码农张的Bug人生 - 初来乍到
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 前端性能优化——回流与重绘
  • 与 ConTeXt MkIV 官方文档的接驳
  • HanLP分词命名实体提取详解
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • ​【已解决】npm install​卡主不动的情况
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • (04)odoo视图操作
  • (Git) gitignore基础使用
  • (安卓)跳转应用市场APP详情页的方式
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (三分钟)速览传统边缘检测算子
  • (转载)深入super,看Python如何解决钻石继承难题
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • .net core控制台应用程序初识
  • .net framework profiles /.net framework 配置
  • .Net MVC + EF搭建学生管理系统
  • .NET 常见的偏门问题
  • /etc/apt/sources.list 和 /etc/apt/sources.list.d
  • [17]JAVAEE-HTTP协议
  • [C++] Boost智能指针——boost::scoped_ptr(使用及原理分析)
  • [C++提高编程](三):STL初识