mysql 的基础操作
1.建表
create table 表名( 字段一 数据类型 [列属性] , 字段二 数据类型 [列属性], ......... )[表类型][表字符集][注释];
注意:MySQL命令终止符为分号 ; 。
1).表名:
表名可以称被指定为 db_name.tb_name,以便在特定的数据库db_name中创建表,如果是在当前数据库,可以将db_name省略,只是用tbl_name。
如果使用mysql中的转义字符`来避免表名和 mysql 本身的关键字冲突时,则应对数据库和表名称分别加`。例如,`mydb`.`mytbl`是合法的,但`mydb.mytbl` 不合法。MySQL 中的转义字符`
2).常用数据类型
3).列属性
mysql中的6个列属性:null,not null,default,comment,primary key,unique key,auto_increment
https://blog.csdn.net/csxiaoyaojianxian/article/details/80793561
4).实例解析:
|
|
|
|---|---|
|
CREATE TABLE `VTD_RESULT` ( `id` int(11) NOT NULL AUTO_INCREMENT, `version` varchar(50) NOT NULL, `date` varchar(50) NOT NULL, `scene_name` varchar(100) NOT NULL, `value` varchar(100) DEFAULT NULL, `createtime` DATETIME DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) )ENGINE=InnoDB DEFAULT CHARSET=latin1; |
|
|
CREATE TABLE `table_name` ( `id` int(11) NOT NULL AUTO_INCREMENT, `date` date DEFAULT NULL COMMENT '日期', `hour` tinyint(2) DEFAULT '0' COMMENT '小时', PRIMARY KEY (`id`), UNIQUE KEY `date_hour` (`date`,`hour`) )ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='实时订单数' |
COMMENT添加注释信息 UNIQUE KEY的用途:主要是用来防止数据插入的时候重复的。相关学习:https://www.cnblogs.com/mianbaoshu/p/11821183.html |
2.添加
1.规定列名添加数据
INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value11, value12,...value1N ),( value21, value22,...value2N );
知识点:1)同时添加多条记录时,用逗号进行分割。
2)前边的列与后边的值要一一对应。
2.不规定列名进行添加数据:
INSERT INTO table_name VALUES (value11, value12,...);
知识点:如果第一列是主键自增(PRINARY KEY AUTO_INCREMENT),则第一列在增加数据的时候,可以写为0或者null。对于有默认值的列,添加数据使用默认值时可以使用default来实现。
举栗:
|
操作
|
命令
|
结果
|
|---|---|---|
| 建表 |
create table test_insert(id int auto_increment, name varchar(10), value int, create_time datetime DEFAULT CURRENT_TIMESTAMP, primary key (id)); |
成功 |
| 按列名添加数据 |
insert test_insert (name,value) value('aa','11'); insert test_insert (name,value) value('bb','22'),('cc','33'); |
|
| 不按列名添加数据 |
insert test_insert value(0,'dd',55,default); |
|
3.更新
命令:update table_name set key1=value1,key2=value2 where 条件;
|
操作
|
|
|
|---|---|---|
| 更新value值 |
update test_insert set value=value+1; |
|
| 更新加替换 |
update test_insert set name=replace(name,'a','test'); |
|
| 按条件更新 |
update test_insert set name='test_case',value='22' where id=1; |
|
4.转换
alter 用于修改修改数据表名或者修改数据表字段
|
|
|
|
|
|---|---|---|---|
| 建表 |
create table test_alter(id int auto_increment, name varchar(10), value int, create_time datetime DEFAULT CURRENT_TIMESTAMP, primary key (id)); |
成功
|
|
| 使用alter与drop 删除字段 |
删除字段value alter table test_alter drop value; |
1.如果数据表中只剩余一个字段则无法使用DROP来删除字段。 |
|
| 使用alter与add 增加字段 |
新增字段value1 alter table test_alter add value1 int(11); alter table test_alter add value2 int(11) first; alter table test_alter add value3 int(11) after name; alter table test_alter add id int(11) NOT NULL AUTO_INCREMENT primary key first; |
1.默认增加字段到表字段的末尾 2.使用关键字FIRST (设定位第一列), AFTER 字段名(设定位于某个字段之后)可以指定新增字段的位置。 3.如果你想重置数据表字段的位置就需要先使用 DROP 删除字段然后使用 ADD 来添加字段并设置位置。 |
|
| 使用alter与modify修改字段类型 |
将value1的数据类型由int(11)改为float,并将其放在value3后边 alter table test_alter modify value1 float after value3; |
1.FIRST 和 AFTER 关键字也可用于MODIFY与CHANGE 子句 |
|
| 使用alter与change修改字段类型及名称 |
将value3改为value0,数据类型由int(11)改为float,并将其放在value1后边 alter table test_alter change value3 value0 float after value1; |
1. 在 CHANGE 关键字之后,紧跟着的是你要修改的字段名,然后指定新字段名及类型 |
|
| 修改表名 |
将表名由test_alter修改为test_alter_1: alter table test_alter rename to test_alter_1; |
|
5.删除
|
语法 |
是否删除内容 |
是否删除定义 |
是否释放空间 |
是否删除表结构 |
注释 |
|---|---|---|---|---|---|
|
drop table table_name |
删除 |
删除 |
释放 |
删除 |
删除后,表不存在 |
|
truncate table table_name |
删除 |
不删除 |
释放 |
不删除 |
只清内容,表还存在 |
|
delete table table_name |
删除 |
不删除 |
不释放,用delete删除数据,然后添加,可以看到添加之后id标识不连续 |
不删除 |
只清内容,一行一行删数据,效率低 |
|
delete table table_name where 条件 |
根据条件删除数据 |
不删除 |
不释放,用delete删除数据,然后添加,可以看到添加之后id标识不连续。 |
不删除 |
6.常用操作
- 1.建数据库 create database db_name;
- 2.显示创建表的语句 show create table table_name;
- 3.查看表结构 DESCRIBE/DESC table_name;
- 4.查看mysql数据库支持的字符集 SHOW character set或show character set like 'gb%';
- 5.创建数据库时修改字符集create database aa default character set utf8mb4;
- 6.创建与a表相同结构的b表:CREATE TABLE b LIKE a;
- 7.插入一个查询结果的数据:insert into table2 select * from table1;
- 8.根据查询结果集,创建一个包含这些数据的新表,CREATE TABLE new_tbl AS SELECT * FROM orig_tbl;
mysql 的基础操作的更多相关文章
- Mysql数据库基础操作
Mysql数据库基础操作 在mysql数据库中开启使用tab键补全功能 1)修改主配置文件/etc/mysql/my.cnf(mysql和mariadb目录有些不同) vim /etc/mysql/m ...
- Mysql常用基础操作(备忘录)
常常忘记mysql的一些命令行操作,甚至于说,比较复杂的sql格式记不住或忘记了,也可能根本不会考虑去记,因此,做一下汇总,当下次出现恍惚时不至于去百度挨个找,有时就是记不起来,但是只要给点药引子,立 ...
- MySQL数据库----基础操作
一.知识储备 数据库服务器:一台计算机(对内存要求比较高) 数据库管理系统:如mysql,是一个软件 数据库:oldboy_stu,相当于文件夹 表:student,scholl,class_list ...
- MySQL 之基础操作及增删改查等
一:MySQL基础操作 使用方法: 方式一: 通过图型界面工具,如 Navicat,DBeaver等 方式二: 通过在命令行敲命令来操作 SQL ( Structure query language ...
- MySQL数据库基础操作语句
SQL语言主要用于存取数据.查询数据.更新数据和管理关系数据库系统,分为3种类型: 1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ALTER 2.DM ...
- Mysql学习---基础操作学习2
基本数据类型 Mysql基本数据类型:二进制,数值[整数,小数].字符串[定长,变长]. 二进制数据.时间和枚举集合 bit[(M)] 二进制位(101001),m表示二进制位的长度(1-64),默认 ...
- [php入门] 3、WAMP中的集成MySQL相关基础操作
前言:本文以小白视角了解WAMP集成开发环境中的MYSQL,涉及的面广而浅,算是导读性质. 1.启动运行熟悉WAMP中的MySQL 先有库.再有表.数据最终以记录的形式插入表中.其中对数据进行操作使用 ...
- MySQL之基础操作
一.安装 Mysql是最流行的关系型数据库管理系统之一,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数 ...
- mysql的基础操作
查看数据库 获取服务器上的数据库列表通常很有用.执行show databases;命令就可以搞定. mysql> show databases; 创建数据库 mysql> create d ...
- MySql数据库基础操作——数据库、用户的创建,表的制作、修改等
MySql 是一款使用便捷.轻量级的数据库.因为他体积小.速度快.安装使用简单.开源等优点,目前是使用最广泛的数据库.目前位于Oracle甲骨文公司旗下.那今天我们就来介绍一下数据库的基本操作.具体介 ...
随机推荐
- INFJ名言
财富是由什么构成的? 按世俗的观点,就是占有金钱和财宝. 但如果我们用除金钱之外的其他方式来衡量财富, 那么许多在物质上匮乏的人在精神上却是富有的, 许多在物质上富有的人在精神上却是匮乏的. The ...
- java命令的本质逻辑揭秘
前言 在日常编码中,有了ide的支持,我们已经很少直接在命令行中直接执行java XXX命令去启动一个项目了.然而我们有没有想过,一个简单的java命令背后究竟做了些什么事情?让我们看下下面几个简单的 ...
- 1. 回顾Servlet
回顾Servlet 创建web工程 servlet-api:http://dwz.date/aTGa 编写Servlet import javax.servlet.ServletException; ...
- GO学习-(22) Go语言之依赖管理
Go语言之依赖管理 Go语言的依赖管理随着版本的更迭正逐渐完善起来. 依赖管理 为什么需要依赖管理 最早的时候,Go所依赖的所有的第三方库都放在GOPATH这个目录下面.这就导致了同一个库只能保存一个 ...
- 从PyTorch到ONNX的端到端AlexNet
从PyTorch到ONNX的端到端AlexNet 这是一个简单的脚本,可将Torchvision中定义的经过预训练的AlexNet导出到ONNX中.运行一轮推理Inference,然后将生成的跟踪模型 ...
- 查找文件与cron计划任务
查找文件 • 根据预设的条件递归查找对应的文件 find [目录] [条件1] [-a|-o] [条件2] ... -type 类型(f文件.d目录.l快捷方式) -name "文档名称 ...
- 源码级别理解 Redis 持久化机制
文章首发于公众号"蘑菇睡不着",欢迎来访~ 前言 大家都知道 Redis 是一个内存数据库,数据都存储在内存中,这也是 Redis 非常快的原因之一.虽然速度提上来了,但是如果数据 ...
- mycat高可用-安全管理-监控 看这一篇就够了
在之前的操作中,我们已经实现了mysql机器的高可用,可以动态切换master,那么如果mycat崩溃了呢?我们应该如何处理呢?所以此时就需要搭建mycat的高可用集群了. 在mycat的权威 ...
- Sai学习笔记
颜色模块的功能介绍 色轮 RGB滑块 HSV滑块(常用) H:色相 S:纯度 V:明度 中间色条,主要用来混色 颜料盒 调色板 选择工具的使用 选择框 快捷键:Ctrl+D 套索 魔棒 图文工具使用 ...
- 关于Word中复杂表格转完美的Markdown格式的技巧
背景 我们都知道有很多工具能做到Word转Markdown格式,但是在某些复杂的需求下,比如带合并单元格的表格,就会出现错乱,效果非常不理想. 那我们今天来学习和探讨下怎么实现完美转换. 转换 如果想 ...










