很全面的Mysql数据库、数据库表、数据基础操作笔记(含代码)

Mysql数据库、数据库表、数据基础操作笔记分享给大家,供大家参考,具体内容如下

一、数据库操作

1.创建数据库
Create database db name[数据库选项];
tip:语句要求使用语句结束符";"来结束服务。
标识符(数据库名)命名规则:
大小写取决于当前操作系统。
见名知意,推荐使用下划线法。
标识符的字符:
使用任意字符,数字,甚至中文。但是一些特殊的组合,例如纯数字组合,特殊符号等需使用标识符限定符来包裹。
限定符:反引号``
中文可以:但要求客户端编码

在mysql的数据目录,形成一个目录,目录名是数据库名。
目录内,存在一个文件,用于保存数据库的选项信息。Db.opt
2.数据库查询
查看当前存在的数据库:
show databases;
查看数据库的创建语句:
show create database db_name;

3.数据库删除
Drop database db_name;

4.修改数据库信息
Alter database db_name[修改指令]

修改名字:
简单的可以直接修改目录名。
将数据库内容导出,新建一个数据库,将内容导入,删除旧数据库。
创建一个新数据库,将就数据库内的表,都一动(重命名)到新数据库内,删除旧数据库。

二、数据库表操作

数据库是表的容器,表,必须属于某个数据库通过.语句指定所属数据库;
 进行表操作时,都会指定当前的默认数据库
Use db_name;

1.创建表
Create table tbl_name {列结构}[表选项]
先分析,需要保存的实体数据,拥有哪些属性。这些属性应如何保存。
例如:班级的信息
班级班号,班级开班日期

列定义:
列名 列的数据类型[列的属性(约束)]

简单的字符串类型 varchar;
日期类型 date
第一种方法不用预先指定数据库,使用.语句表示

第二种方法先指定默认数据库

2.查看
1>有那些表
Show tables[like 'pattern'];
like 'pattern'表示获得某种规则的表名

以上like同样适用于 show databases like['pattern'];

2>某个表的创建信息
Show create table tal_name;
tip:可以用\G作为语句结束符显示清晰。
对比

3>查看表结构(描述表结构)
Describe tbl_name;
Desc tbl_name;

表名前缀
为了区分相同逻辑表名的不同应用,给逻辑表名增加前缀形成逻辑表名。

3.删除表
Drop table tbl_name;

不存在也不报错:

同样适用database:
Drop database if exists db_name;
4.修改表
修改表名
Rename table old tbl_name to tbl_name;

支持多个名字一起修改

支持跨数据库重命名,将一个数据库下的表格移动到另一个数据库下面,可以利用此特点进行数据库重命名。

修改列定义
增加一个新的列
Add

删除一个列
Drop

修改一个列的定义
Modify列定义

修改一个列
Change old_column 新的列定义

修改表结构,上面是子命令,上级是,alter table tbl_name [add|drop|change|modify]

修改表选项
Alter table tbl_name 新的表选项

三、数据操作

1.创建数据(插入数据)
Insert into 表名(字段列表) values(值列表)

如果在插入时,为所有的字段设置值,那么可以省略字段列表。要求是值得顺序,应与表中的字段的顺序一致

2.获得数据(查询数据)
Select 字段列表 from 表名 查询条件

tip:查询条件可以省略相当于where 1
条件查询

3.删除数据
Delete from 表名 条件

tip:删除需要在逻辑上严格给条件,否则容易造成数据丢失。
4.修改数据
Update 表名 set 字段=新值,.... 条件。

以上就是关于Mysql数据库操作的全部内容,希望对大家的学习有所帮助。

(0)

相关推荐

  • 用MySQL创建数据库和数据库表代码

    1.使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; +----------+ | Database | +----------+ | mysql | | test | +----------+ 3 rows in set (0.00 sec) 2.创建一个数据库abccs mysql> Create DATABASE abccs; 注意不同操作系统对大小写的敏感. 3.选择你所创建的数据库 mysql> USE abccs Databas

  • 使用shell检查并修复mysql数据库表的脚本

    复制代码 代码如下: #!/bin/sh#code by scpman#功能:检查并修复mysql数据库表#将此脚本加到定时中,脚本执行时,等会读库,列出要修复的所有表,然后计时,开始修复#修复过程中将损坏的表记录下来,修复完成后,将损坏的表,发邮件通知.fix_logs='/tmp/fix.log'user=''pass=''check_fix(){dblist=`/usr/bin/find /usr/dlm_db/mysql/ -type d | grep -vE "logs|_[1-9]|

  • MySQL数据库表修复 MyISAM

    一:MySQL中MyISAM表损坏原因总结: 1. 服务器突然断电导致数据文件损坏;强制关机,没有先关闭mysql 服务;mysqld 进程在写表时被杀掉. 2. 磁盘损坏. 3. 服务器死机. 4. mysql 本身的bug . 二:MySQL中MyISAM表损坏的症状总结: 1 .查询数据时报出错误:Incorrect key file for table: '...'. Try to repair it 2 .查询不能在表中找到行或返回不完全的数据. 3 .Error: Table '..

  • php+mysqli实现批量替换数据库表前缀的方法

    本文实例讲述了php+mysqli实现批量替换数据库表前缀的方法.分享给大家供大家参考.具体分析如下: 在php中有时我们要替换数据库中表前缀但是又不苦于一个个表去修改前缀,这里我自己写了一个mysqli批量替换数据库表前缀的php程序,感兴趣的朋友可以参考一下,代码如下: <?php header ( 'http-equiv="Content-Type" content="text/html; charset=utf-8"' ); $DB_host = &q

  • 从MySQL数据库表中取出随机数据的代码

    MySQL 如何从表中取出随机数据  以前在群里讨论过这个问题,比较的有意思.mysql的语法真好玩. 他们原来都想用PHP的实现随机,但取出多条好像要进行两次以上查询. 翻了手册,找到了下面这个语句,可以完成任务了 SELECT * FROM table_name ORDER BY rand() LIMIT 5; rand在手册里是这么说的: RAND()  RAND(N)  返回在范围0到1.0内的随机浮点值.如果一个整数参数N被指定,它被用作种子值.  mysql> select RAND

  • 检查并修复mysql数据库表的具体方法

    #!/bin/sh #code by scpman #功能:检查并修复mysql数据库表 #将此脚本加到定时中,脚本执行时,等会读库,列出要修复的所有表,然后计时,开始修复 #修复过程中将损坏的表记录下来,修复完成后,将损坏的表,发邮件通知. fix_logs='/tmp/fix.log' user='' pass='' check_fix() { dblist=`/usr/bin/find /usr/dlm_db/mysql/ -type d | grep -vE "logs|_[1-9]|*

  • Mysql数据库表定期备份的实现详解

    Mysql数据库表定期备份的实现 0.背景 实际开发环境中,前端程序需要在给定时间段内,将数据更新/插入到MySQL指定的库表中.随着数据量的增多,基础库表基数的增长,每更新一次都会有5s左右的卡顿. 改进方案一:批量更新,累计数10条或者100条进行一次更新入库操作: 改进方案二:将当前日期前1个月之前的数据进行备份操作,并删除当前库表中1个月前的数据.经测定,该方法一定程度提高了访问效率.根因:基础表基数少,查询效率相对提高. 1.库表的定时备份总结 步骤1:备份Mysql指定数据库中的制定

  • 很全面的Mysql数据库、数据库表、数据基础操作笔记(含代码)

    Mysql数据库.数据库表.数据基础操作笔记分享给大家,供大家参考,具体内容如下 一.数据库操作 1.创建数据库 Create database db name[数据库选项]; tip:语句要求使用语句结束符";"来结束服务. 标识符(数据库名)命名规则: 大小写取决于当前操作系统. 见名知意,推荐使用下划线法. 标识符的字符: 使用任意字符,数字,甚至中文.但是一些特殊的组合,例如纯数字组合,特殊符号等需使用标识符限定符来包裹. 限定符:反引号`` 中文可以:但要求客户端编码 在my

  • 很全面的MySQL处理重复数据代码

    有些 MySQL 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据. 本章节我们将为大家介绍如何防止数据表出现重复数据及如何删除数据表中的重复数据. 一.防止表中出现重复数据 你可以在MySQL数据表中设置指定的字段为 PRIMARY KEY(主键) 或者 UNIQUE(唯一) 索引来保证数据的唯一性. 让我们尝试一个实例:下表中无索引及主键,所以该表允许出现多条重复记录. CREATE TABLE person_tbl ( first_name

  • MySQL之导出整个及单个表数据的操作

    导出单个表 mysqldump -u user -p dbname tablename > db.sql 导入单个表 mysql>drop tablename; mysql -u user -p dbname < db.sql 导出整个表 mysqldump --opt -d dbname -u dbuser -p > db.sql mysqldump dbname -udbuser -p > db_dt.sql 补充知识:mysql导入导出sql文件:导出整个数据库,导出一

  • MySQL 两张表数据合并的实现

    有一个需求, 需要从数据库中导出两张表的数据到同一个excel中 鉴于是临时的业务需求, 直接使用Navicat 进行查询并导出数据. 数据涉及到三张表 CREATE TABLE `bigdata_qiye` ( `id` bigint(64) NOT NULL COMMENT '主键', `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID', `registration_type` int(2) DEFAULT NULL COMMENT

  • Vue+Node服务器查询Mongo数据库及页面数据传递操作实例分析

    本文实例讲述了Vue+Node服务器查询Mongo数据库及页面数据传递操作.分享给大家供大家参考,具体如下: 1.利用Mongoose查询MongoDB 通过mongoose依赖可以简捷地操作mondodb数据库,首先安装mongoose: cnpm install mongoose --save 使用mongoose需要一个模式Schema,它用于定义你从mongodb中查询的每个文档条目的内容,然后通过mongoose.model()生成一个模板model,模板像一个架子,将数据库取到的每个

  • MySQL定时任务,清理表数据方式

    目录 MySQL定时清理表数据 对某个表只保留一个月内的数据 MySQL定时自动删除数据表 描述 开启事件调度器 关闭事件 开启事件 删除事件 查看事件 MySQL定时清理表数据 针对一些每天都会产生大量数据的表,比如说报警.日志表等,数据量太大占用了较多的空间,可以选择定时清理这些表,只保留一段时间内的数据 对某个表只保留一个月内的数据 查看是否开启MySQL定时任务 # 显示为ON则已开启 SHOW VARIABLES LIKE 'event_scheduler'; 显示为ON表示已经开启

  • Python实现mysql数据库更新表数据接口的功能

    前言 昨天,因为项目需求要添加表的更新接口,来存储预测模型训练的数据,所以自己写了一段代码实现了该功能,在开始之前,给大家分享python 操作mysql数据库基础: #coding=utf-8 import MySQLdb conn= MySQLdb.connect( host='localhost', port = 3306, user='root', passwd='123456', db ='test', ) cur = conn.cursor() #创建数据表 #cur.execute

  • MySQL使用全库备份数据恢复单表数据的方法

    前言 备份数据库时,采用了全库备份,但是因为某些原因需要回滚一个表的数据到备份数据库上,如果回滚整个库就比较费时间,因为可能这个表只有几十M,但是其它表可能有十几上百G,这时候就需要将需要恢复的表提取出来了 我们在实际工作中都遇到过这种情况,一个MySQL实例中可能有多个database.而我们备份时,通常采用完全备份,将所有database都备份到一个文件中. 但是,偶尔会遇到只恢复一个database或者一个表的情况.怎么解决呢? 现在有备份库fdcsqlmysql-2018_11_30-0

  • Linux下将数据库从MySQL迁移到MariaDB的基础操作教程

    自从2012年来,维基百科已经开始从MySQL迁移到MariaDB的过程,是维基媒体数据库架构变革的一个重大里程碑,将英文和德文版的维基百科数据库Wikidata移植到了MariaDB 5.5版本上. 在过去几年中,维基百科一直使用 Facebook 的 MySQL 5.1 衍生版本 作为我们的产品数据库,构建版本号是r3753.我们很高兴该产品的性能表现,Facebook 有着全世界最棒的数据库工程师,他们为 MySQL 生态系统带去了很多改进. 现在 MariaDB 的优化器的增强.Perc

  • mysql中插入表数据中文乱码问题的解决方法

    一.问题 开发中遇到将其它数据库数据插入到mysql数据库表中一直会报类似如下错误: Incorrect string value: '\xE6\x88\x91' for column 'name' at row 1 二.分析 1.我先去查了两个数据库表中此字段对应的类型都是 varchar,所以不存在类型不一致导致插入报错的问题. 2. 排除字段类型不一致导致的错误后,我猜测是中文乱码问题,然后插入纯英文数据发现没有报错,所以确定了是中文乱码问题.然后网上百度发现是mysql默认的编码问题导致

随机推荐