zoukankan      html  css  js  c++  java
  • mysql 的基础操作

    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;
  • 相关阅读:
    [LOJ537] DNA 序列
    yum安装jdk
    centos7添加tomcat自启服务
    ajax下载文件的方法 php下载图片的方法
    kali linux dpkg安装和删除的方法
    javascript 曲线流光动画
    javascript获取曲线路径每个像素的坐标
    抓取微信小程序源码的方法
    javascript canvas拖尾效果
    php错误execution timed out (118.236064 sec), terminating解决方法
  • 原文地址:https://www.cnblogs.com/mianbaoshu/p/11813306.html
Copyright © 2011-2022 走看看