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. CentOS 7 网络配置详解

    今天在一台PC上安装了CentOS 7,当时选择了最小安装模式,安装完成后马上用ifconfig查看本机的ip地址(局域网已经有DHCP),发现报错,提示ifconfig命令没找到. ? 1 2 3 ...

  2. lvresize 调整LVM逻辑卷的空间大小,可以增大空间和缩小空间

    lvresize 相关命令:lvreduce,lvextend,lvdisplay,lvcreate,lvremove,lvscan   lvresize指令:调整逻辑卷空间大小[语    法]lvr ...

  3. devgridContral

    #region 加载gridControl布局项        /// <summary>        /// 加载gridControl布局项        /// </summ ...

  4. Python使用 Kubernetes API 访问集群

    通过将身份认证令牌直接传给 API 服务器,可以避免使用 kubectl 代理,像这样:使用 grep/cut 方式: 通过将身份认证令牌直接传给 API 服务器,可以避免使用 kubectl 代理, ...

  5. 激光雷达Lidar Architecture and Lidar Design(上)

    激光雷达Lidar Architecture and Lidar Design(上) 介绍 激光雷达结构: 基本条件 构型和基本布置 激光雷达设计: 基本思想和基本原则 总结 介绍 激光雷达结构是激光 ...

  6. 痞子衡嵌入式:嵌入式里通用微秒(microseconds)计时函数框架设计与实现

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是嵌入式里通用微秒(microseconds)计时函数框架设计与实现. 在嵌入式软件开发里,计时可以说是非常基础的功能模块了,其应用也非常 ...

  7. mybatis之Param注解

    一.作用 使用@Param注解表示给参数命名,名称就是括号中的内容.给参数命名,然后在映射文件中就能根据名称获取参数值了.在mybatis中我们常常要使用到多个参数,但是在xml中的parameter ...

  8. 性能报告之HTML5 性能测试报告

    1. 引言 1.1. 编写目的 HTML5 作为当前"最火"的跨平台.跨终端(硬件)开发语言,越来越受到前端开发者 的重视,无论是 PC 端还是当前"火热"的移 ...

  9. 【NX二次开发】Block UI 对象颜色选择器

    属性说明 常规         类型 描述     BlockID     String 控件ID     Enable     Logical 是否可操作     Group     Logical ...

  10. 【NX二次开发】Block UI 整形

    属性说明 常规         类型 描述     BlockID     String 控件ID     Enable     Logical 是否可操作     Group     Logical ...