MySQL(5):表的crud

表名的前缀:

两个student表,为了区分相同逻辑表名的不同应用,给逻辑表名,增加前缀

//学生管理

create table info_student (

name varchar(20),

stu_no varchar(20)

);

//在线考试

create table exam_student (

name varchar(20),

stu_no varchar(20),

score int

);

1.有哪些表?

show tables;

2.

show tables [like ‘pattern‘];

其中like pattern 部分,表示只获得那种规则的表名

show tables like ‘exam_%‘;//-----%表示任意字符的组合----称之为通配符

3.某一个表的创建信息

show create table exam_student;

也可以使用:

show create table exam_student\G (数据很多时候,这样显示容易看懂)

4.查看表的结构(描述表的结构)

describe exam_student;

也可以简写成如下:

desc info_student;

数据库对应着目录,显然数据库内容对应的就应该是目录的内容,文件。

我们追踪到磁盘上面的数据库文件如下:

 

这里的frm文件:存储的是列表结构

5.删除表格

drop table tbl_name;

如果表不存在,执行删除操作就会报错,有时候也可以这样操作可以避免这种报错:

drop table if exists democlass;(同时也适用drop database if exists db_name)

6.修改表

(1)修改表名

重命名:rename table old_tbl_name to new_tbl_name;

同时给多个表rename:

rename table info_student to infos, exam_class to classes;

上面我们可以先show tables 获取所有的tables,然后批量修改rename table info_student to infos, exam_class to classes,……;

支持跨数据库重命名:

从原来数据库php_one中的infos列表 存放到 demo数据库中的infos列表

我们进去看看demo数据中的内容:

上面支持跨数据库重命名,可以实现数据库重命名。

重新创建一个新的数据库,旧的数据库的表,都rename到新到数据库内,删除旧的数据库;

(2) 修改列定义

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

add (增加一个新的列):

modify(修改一个列的定义):修改列的类型 和属性

drop(删除一个列):

change(重命名一个列):提供重命名的服务

(3)修改表选项

alter table  tbl_name   新的表选项;

时间: 2024-08-30 12:48:53

MySQL(5):表的crud的相关文章

MySQL单表的CRUD及多表查询

数据库表的增删改查操作: 增.删.改 查: 单表查询 简单查询.where约束.group by分组.聚合查询.having过滤.order by排序.limit限制.正则匹配 多表查询 连表查询:交叉查询.>內连查询.左外连接查询.右外连接查询.全外链接查询.连接结果筛选查询 子查询 :带关键字in的子查询.带比较运算符的子查询.带关键字exists的布尔判断结果查询 表记录增删改总结: MySQL数据操作: DML 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包

MYSQL术语表

MYSQL术语表 http://dev.mysql.com/doc/refman/5.6/en/glossary.html MySQL Glossary These terms are commonly used in information about the MySQL database server. This glossary originated as a reference for terminology about the InnoDB storage engine, and th

Django 通过 ORM 实现表的CRUD

Django 通过 ORM 实现表的CRUD 单表的创建 修改 setting.py 文件 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '数据库名称', 'USER': '用户名', 'PASSWORD': '密码', 'HOST': '127.0.0.1', 'PORT': '3306', } } 修改应用下面对应的models.py 文件 class Book(models.Model):

mysql单表限制

mysql单表的限制 一.MySQL数据库的MyISAM存储 引擎单表大小限制已经不是有MySQL数据库本身来决定(限制扩大到64pb),而是由所在主机的OS上面的文件系统来决定了. 在mysql5.0版本之前,myisam存储引擎默认表的大小4Gb,可以用一下命令来查看: [[email protected] test]# cd /data/mysql/mysql_3306/data/test [[email protected] test]# myisamchk -dv t2 MyISAM

mysql分表方法-----MRG_MyISAM引擎分表法

一般来说,当我们的数据库的数据超过了100w记录的时候就应该考虑分表或者分区了,这次我来详细说说分表的一些方法.目前我所知道的方法都是MYISAM的,INNODB如何做分表并且保留事务和外键,我还不是很了解. 首先,我们需要想好到底分多少个表,前提当然是满足应用.这里我使用了一个比较简单的分表方法,就是根据自增id的尾数来分,也就是说分0-9一共10个表,其取值也很好做,就是对10进行取模.另外,还可以根据某一字段的md5值取其中几位进行分表,这样的话,可以分的表就很多了. 好了,先来创建表吧,

关于Mysql删除表数据的两种方式对比

1.delete from table_name 一行一行删除,只删除表数据,auto_increament仍停留在最后一天数据的下一个值. 2.truncate table_name 快捷删除表数据.先删除整个表,然后重新建表结构.auto_increament从1开始. 关于Mysql删除表数据的两种方式对比,布布扣,bubuko.com

python3 mysql 多表查询

python3 mysql 多表查询 一.准备表 创建二张表: company.employee company.department #建表 create table department( id int, name varchar(20) ); create table employee( id int primary key auto_increment, name varchar(20), sex enum('male','female') not null default 'male'

查看和改动MySQL数据库表存储引擎

要做一名合格的程序猿,除了把代码写的美丽外,熟知数据库方面的知识也是不可或缺的.以下总结一下怎样查看和改动MySQL数据库表存储引擎:        1.查看数据库所能支持的存储引擎:show engines;        2.查看某个数据库中某个表所使用的存储引擎:show table status from db_name where name='table_name';(注:将where条件去掉后能够查看某个数据库中全部表的存储引擎情况)        3.改动表引擎方法:alter t

详解MySQL大表优化方案

当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑.部署.运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的.而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量: 字段 尽量使用TINYINT.SMALLINT.MEDIUM_INT作为整数类型而非INT,如果非负则加上UNSIGNED VARCHAR的

针对MySQL大表优化方案

详解MySQL大表优化方案 (1).字段 (2).索引 (3).规范查询SQL (4).存储引擎 (5).mysql配置参数优化 (6).mysql读写分离 (7).分区和分表 单表优化: 当单表的数据不是一直在暴增,不建议使用拆分,拆分会带来逻辑,部署,运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的.而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量 (1).字段 l 尽量使用TINYINT.SMALLINT