(2.7)Mysql之SQL基础——表的操作与查看
(2.7)Mysql之SQL基础——表的操作与查看
搜索关键字:mysql表操作,comment注释操作,mysql临时表
【一】innodb下的表操作
0、临时表 create temporary table
1、创建表(在innodb下)
1.1、create table table_name(column type) ENGINE=innodb default CHARSET=UTF8 COLLATE=utf8_general_ci COMMENT='this is a test~'; --常规默认方式 create table table_name(column type) 选项
1.2、create table table_name like old_table_name; --like:包括旧表的 表结构+索引 (不含数据信息)
1.3、create table table_name as select * from old_table_name; --create table as select :包括旧表的 表结构+表数据 (不含索引信息),as 可以省略
2、查询表(show tables;)(必须切换到数据库)
2.1、show tables;
2.2、show tables from db_name;
2.3、show tables like '%table_name%';
3、切换数据库(use)
3.1 、use db_name;
4、查看表结构与表定义(desc/show)
4.1 查看表结构:desc table_name; or desc db_name.table_name;
4.2 查看表定义:show create table table_name; or show create table db_name.table_name;
4.3 查看列定义:SHOW FULL COLUMNS FROM tbl_name;
5、删除表(drop)
5.1 drop table test101;
5.2 drop table test101,test102;
6、重命名表(rename)
6.1 rename table test101 to test1011;
6.2 rename table test101 to test1011,test102 to test1022;
7、截断表数据
7.1 删除表中所有数据 truncate:truncate table table_name;
8、插入表数据
8.1 单条插入insert into values:insert into tab_name(column_1,column_2……) value(val1,val2……)
8.2 单条插入insert into set:INSERT INTO products SET column1=val1,column2=val2 --只能单条插入
8.3 多条插入insert into select:insert into table_name(column_1.......) value select val1.....from tab2_name
8.4 多条插入insert into values(),():insert into tab_name(column_1,column_2……) value(val1,val2……),(val11,val12……)
9、更新表数据
9.1 单表更新update table_name set column1=value1,column2=value2....
9.2 多表关联更新/多表更新 update table_1 t1 join table_2 t2 on t1.id=t2.id set t1.column1=value1,t2.column1=value2
10、删除表数据
10.1 单表删除delete from table_name or delete t1 from table_name t1
10.2 多表关联删除delete t1 from table_1 t1 join table_2 t2 on t1.id = t2.id where t1.id=1
11、列操作(add/drop/modify/change)
alter table table_name add/drop/modify/change
11.1 添加一个列 add: 【1】alter table test101 add n1 varchar(20); 【2】alter table test101 add(n1 varchar(20),n2 varchar(30));
11.2 删除一个列 drop :【1】 alter table test101 drop n1;
11.3 重命名列 change:【1】alter table test101 change n1 n11 varchar(20); 【2】alter table test101 change n1 n1 varchar(50);
11.4 修改列属性 modify:【1】修改列字段类型:alter table test101 modify n1 varchar(100); 【2】修改字符集:alter table test101 character set utf8;
【3】增加一列放到第一列去:alter table table_name ADD column_name CHAR(11) FIRST;
【4】增加一列放到某一列后面去:alter table table_name ADD column_name CHAR(11) AFTER column1;
-- 查看表的 comment
SELECT table_name, table_comment
FROM information_schema.tables
WHERE table_schema = 'schema_name' AND table_name = 'table_name'; -- 查看表中 columns 的 comment
SELECT column_name, column_comment
FROM information_schema.columns
WHERE table_schema = 'schema_name' AND table_name = 'table_name';
---------------------
(2.7)Mysql之SQL基础——表的操作与查看的更多相关文章
- (2.16)Mysql之SQL基础——函数
(2.16)Mysql之SQL基础——函数 关键词:mysql函数,mysql自定义函数,mysql聚合函数,mysql字符串函数,mysql数值函数 1.自定义函数 -- (1)一般形式 creat ...
- (2.15)Mysql之SQL基础——开发设计最佳规范
(2.15)Mysql之SQL基础——开发设计最佳规范 关键字:mysql三大范式,mysql sql开发规范 分析: show profile.mysqllsla.mysqldrmpslow.exp ...
- (2.13)Mysql之SQL基础——触发器
(2.13)Mysql之SQL基础——触发器 关键词:Mysql触发器 1.一般形式 -- 0.查看触发器[1]SHOW TRIGGERS;[2]SELECT * FROM `information_ ...
- (2.11)Mysql之SQL基础——存储过程与变量
(2.11)Mysql之SQL基础——存储过程 关键字:mysql存储过程 查看存储过程: []SELECT * FROM information_schema.ROUTINES WHERE ROUT ...
- (2.10)Mysql之SQL基础——约束及主键重复处理
(2.10)Mysql之SQL基础——约束及主键重复处理 关键词:mysql约束,批量插入数据主键冲突 [1]查看索引: show index from table_name; [2]查看有约束的列: ...
- (2.9)Mysql之SQL基础——索引的查看与删除
(2.9)Mysql之SQL基础——索引的查看与删除 关键词:mysql索引查看,mysql索引删除 1.索引查询(以下包括主键,唯一,普通,复合,全文,但不包括外键) (1)按库查询 select ...
- (2.8)Mysql之SQL基础——索引的分类与使用
(2.8)Mysql之SQL基础——索引的分类与使用 关键字:mysql索引,mysql增加索引,mysql修改索引,mysql删除索引 按逻辑分类: 1.主键索引(聚集索引)(也是唯一索引,不允许有 ...
- (2.6)Mysql之SQL基础——存储引擎的查看与修改
(2.6)Mysql之SQL基础——存储引擎的查看与修改 可以使用 show engines; 查看数据库支持的所有的存储引擎: 目录: 1.数据库级别存储引擎 1.1查看现在默认的存储引擎 1.2 ...
- MySQL用sql复制表数据到新表的方法
用sqlyog无法直接复制出一个不同表名的表来,只能copy到其他库上同名的表. 在MySQL数据库中,应该如何用sql将表数据复制到新表中呢? 本人通过试验测试成功了,而且相当简单易懂,速度也非常快 ...
随机推荐
- time函数
time函数 time #include<time.h> time_t time(time_t *t); typdef long int time_t; time() returns th ...
- Nginx配置proxy_pass转发的/路径
请求原地址 :http://servername/static_js/test.html location ^~ /static_js/ { proxy_cache js_cache; proxy_s ...
- node.js之web开发 koa入门
用Node.js开发Web服务器端,有几个显著的优势: 速度快,非常快!这得益于Node.js天生是异步的. 常见的Web框架包括:Express,Sails.js,koa,Meteor,DerbyJ ...
- 关于Unity中调试C#的方法
1.断点输出语句 在感觉有问题的地方的上下文写一些输出语句,如果控制台只有输出上文,没有输出下文,那么可以知道,上下文之间的语句有问题,因为下文没执行到,没有输出语句. Debug.Log(" ...
- 【BZOJ】1645: [Usaco2007 Open]City Horizon 城市地平线(线段树+特殊的技巧)
http://www.lydsy.com/JudgeOnline/problem.php?id=1645 这题的方法很奇妙啊...一开始我打了一个“离散”后的线段树.............果然爆了. ...
- MFC存储图片到SQL Server数据库
第一步:建立数据库表,比如:id char,pic image. 第二步:建立MFC单文档应用程序,再添加类CMyRecordset,基类选择CRecordset,导入数据库的刚建立的表. 第三步:在 ...
- 数据库存入数据后id保持不变,或者直接报错
数据库存入数据后id保持不变,且添加的数据一直在进行覆盖 或者直接报错 数据库存入数据后id保持不变,且添加的数据一直在进行覆盖 原因是: 之前注释掉了loadimage();在该函数中含有建立新的记 ...
- VC++中CEdit控件实现回车换行
1.通过回车Enter换行: 这里要有两个设置 <1>.将控件的属性设置为Mutilines->true; <2>.将控件的另一个属性设置为Want return-> ...
- HDU4081 Qin Shi Huang's National Road System【prim最小生成树+枚举】
先求出最小生成树,然后枚举树上的边,对于每条边"分别"找出这条割边形成的两个块中点权最大的两个 1.因为结果是A/B.A的变化会引起B的变化,两个制约.无法直接贪心出最大的A/B. ...
- UE打包32位程序遇到Win32 is not a supported platform for MindWaveEditor. Valid platforms are Win64.
1>------ 已启动全部重新生成: 项目: MindWave, 配置: Development_Editor Win32 ------1> Win32 is not a support ...