1.建表

create table  表名( 字段一 数据类型 [列属性] , 字段二 数据类型 [列属性], ......... )[表类型][表字符集][注释];

注意:MySQL命令终止符为分号 ; 。

1).表名:

表名可以称被指定为 db_name.tb_name,以便在特定的数据库db_name中创建表,如果是在当前数据库,可以将db_name省略,只是用tbl_name。

如果使用mysql中的转义字符`来避免表名和 mysql 本身的关键字冲突时,则应对数据库和表名称分别加`。例如,`mydb`.`mytbl`是合法的,但`mydb.mytbl` 不合法。MySQL 中的转义字符`

2).常用数据类型

MySQL 数据类型

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;

  • 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
  • AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
  • DEFAULT 设置默认值。
  • PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
  • ENGINE 设置存储引擎,CHARSET 设置编码

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 的基础操作的更多相关文章

  1. Mysql数据库基础操作

    Mysql数据库基础操作 在mysql数据库中开启使用tab键补全功能 1)修改主配置文件/etc/mysql/my.cnf(mysql和mariadb目录有些不同) vim /etc/mysql/m ...

  2. Mysql常用基础操作(备忘录)

    常常忘记mysql的一些命令行操作,甚至于说,比较复杂的sql格式记不住或忘记了,也可能根本不会考虑去记,因此,做一下汇总,当下次出现恍惚时不至于去百度挨个找,有时就是记不起来,但是只要给点药引子,立 ...

  3. MySQL数据库----基础操作

    一.知识储备 数据库服务器:一台计算机(对内存要求比较高) 数据库管理系统:如mysql,是一个软件 数据库:oldboy_stu,相当于文件夹 表:student,scholl,class_list ...

  4. MySQL 之基础操作及增删改查等

    一:MySQL基础操作 使用方法: 方式一: 通过图型界面工具,如 Navicat,DBeaver等 方式二: 通过在命令行敲命令来操作 SQL ( Structure query language ...

  5. MySQL数据库基础操作语句

    SQL语言主要用于存取数据.查询数据.更新数据和管理关系数据库系统,分为3种类型: 1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ALTER 2.DM ...

  6. Mysql学习---基础操作学习2

    基本数据类型 Mysql基本数据类型:二进制,数值[整数,小数].字符串[定长,变长]. 二进制数据.时间和枚举集合 bit[(M)] 二进制位(101001),m表示二进制位的长度(1-64),默认 ...

  7. [php入门] 3、WAMP中的集成MySQL相关基础操作

    前言:本文以小白视角了解WAMP集成开发环境中的MYSQL,涉及的面广而浅,算是导读性质. 1.启动运行熟悉WAMP中的MySQL 先有库.再有表.数据最终以记录的形式插入表中.其中对数据进行操作使用 ...

  8. MySQL之基础操作

    一.安装 Mysql是最流行的关系型数据库管理系统之一,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数 ...

  9. mysql的基础操作

    查看数据库 获取服务器上的数据库列表通常很有用.执行show databases;命令就可以搞定. mysql> show databases; 创建数据库 mysql> create d ...

  10. MySql数据库基础操作——数据库、用户的创建,表的制作、修改等

    MySql 是一款使用便捷.轻量级的数据库.因为他体积小.速度快.安装使用简单.开源等优点,目前是使用最广泛的数据库.目前位于Oracle甲骨文公司旗下.那今天我们就来介绍一下数据库的基本操作.具体介 ...

随机推荐

  1. 11.16-18 lsci、ipcs、ipcrm:清除ipc相关信息

    lspci:显示所有PCI设备 lspci命令用来显示系统中的所有PCI总线设备或是连接到该总线上的所有设备. lspci命令的参数选项及说明 -v     显示详细信息 -vv    显示更详细的信 ...

  2. python程序打包成exe(使用pyinstaller)

    pyinstaller下载地址:https://github.com/pyinstaller/pyinstaller/ (这个文件能够自动安装依赖项,其他版本的貌似还要自己安装依赖项) 下载之后解压到 ...

  3. Python3冒泡排序

    练习:将路径为 D:\data.txt 的文件读取,并取出数字部分进行排序(不能使用内置排序方法),这里我们使用冒泡排序法 文件读取并取出数字部分(略) 一:什么叫冒泡排序 冒泡排序(Bubble S ...

  4. UCOS明白解析

        UCOSII 是一个可以基于 ROM 运行的.可裁减的.抢占式.实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,是和很多商业操作系统性能相当的实时操作系统(RTOS).为了提供最 ...

  5. go, iris , nuxt, 服务端渲染等技术在helloworld开发者社区中的应用与实践

    大家好,helloworld.net 上线已经有近半年的时间了,转眼过的好快,在这半年的时间里,迭代了近10多个版本,优化了很多的体验,交互上的不足之处,同时也上线了我们的安卓 app, 苹果的因为还 ...

  6. 程序"三高"解决方案

    0. 程序三高 1. 缓存 2. 预处理和延后处理 3. 池化 3.1 内存池 3.2 线程池 3.3 连接池 4. 异步(回调) 5. 消息队列 5.1 服务解耦 5.2 异步处理 5.3 流量削峰 ...

  7. Spring 版MediatR--中介者模式实现库

    背景 C# 版本库 MediatR 是一个中介者模式实现类库,其核心是一个中介 者模式的.NET实现,其目的是消息发送和消息处理的解耦.它支持单播和多播形式使用同步或异步的模式来发布消息,创建和帧听事 ...

  8. JS 反射机制及 Reflect 详解

    一.什么是反射机制 反射机制是在编译阶段不知道是哪个类被加载,而是在运行的时候才加载.执行. 也就是说,反射机制指的是程序在运行时能够获取自身的信息. js 中的 apply 就是反射机制. 二.Re ...

  9. Django(48)drf请求模块源码分析

    前言 APIView中的dispatch是整个请求生命过程的核心方法,包含了请求模块,权限验证,异常模块和响应模块,我们先来介绍请求模块 请求模块:request对象 源码入口 APIView类中di ...

  10. 摄像头Camera 标定Calibration原理Theory

    摄像头Camera 标定Calibration原理Theory cv2.cameraCalibration Pinhole camera calibration calls camera vision ...