精华内容
下载资源
问答
  • 有时[比如在Linux服务器下, 或者借助数据库管理工具执行SQL], 需要使用sql语句直接对数据表进行新建/修改表结构, 填充/更新数据等. 好处: 可以避免繁琐操作, 遗漏, 快捷方便, 一步到位. 2.学习/操作 ...

    1.应用场景

    有时[比如在Linux服务器下]需要使用SQL语句直接对数据表进行新建/修改表结构, 填充/更新数据等.

    或借助数据库管理工具执行SQL,但是这种方法,比较适合做微小的操作~

     

    好处:

    使用SQL去操作,可以避免繁琐, 遗漏, 快捷方便, 一步到位.

    2.学习/操作

    前言:

    1. 本文中有部分SQL没有采用大写,但是推荐关键字使用大写字~~

    2. 在应用到生产环境之前,一定要在本地/测试环境做测试,确认无误才可以放到生产环境执行~~

     

    新补充  // 20190903

    1. 添加字段,比如我在数据表中添加一个 age 字段,类型为int(11)

    ALTER TABLE player ADD (age int(11));

    2. 修改字段名,将 age 字段改成player_age

    ALTER TABLE player RENAME COLUMN age to player_age

    3. 修改字段的数据类型,将player_age的数据类型设置为float(3,1)

    ALTER TABLE player MODIFY (player_age float(3,1));

    4. 删除字段, 删除刚才添加的player_age字段

    ALTER TABLE player DROP COLUMN player_age;

    1.修改字段默认值

    alter table 表名 drop constraint 约束名字   ------说明:删除表的字段的原有约束

    alter table 表名 add constraint 约束名字 DEFAULT 默认值 for 字段名称 -------说明:添加一个表的字段的约束并指定默认值

    2.修改字段名

    语法:// 验证通过

    ALTER TABLE <表名> CHANGE <字段名> <字段新名称> <字段的类型>

    例子

    ALTER TABLE `ue4_map` CHANGE  `levelpath` `filepath` VARCHAR(255);
    ALTER TABLE `ue4_blueprint` CHANGE `strObjectPath` `filepath` VARCHAR(255);

    Note

    ALTER TABLE 表名 RENAME COLUMN A TO B;   // 验证没成功

    3.修改字段类型

    ALTER TABLE 表名 ALTER COLUMN UnitPrice DECIMAL(18, 4) NOT NULL

    4.增加字段

    ALTER TABLE 表名 ADD 字段 类型 NOT NULL DEFAULT 0

    5.增加 / 删除字段备注

    Note:

    字段已经存在 ==> MODIFY,  不存在 ==> ADD

     

    添加备注

    /*oracle*/

    comment on column 表名.列名 is '备注';


    /*mysql*/

    ALTER TABLE 表名 MODIFY 字段名 类型 COMMENT '备注';

    删除备注

    /*mysql*/

    ALTER TABLE 表名 MODIFY  字段名 类型 COMMENT '';

     

    下面用法:

    Alter table `db_jddts_jsmj_1_tdw`.`lg2_hero_baseattr`   -- db_jddts_jsmj_1_tdw:数据库名
      add column `num` int(11) NOT NULL Auto_increment first,  -- 添加字段,并且处于第一列
      add column `versionTime` varchar(11) NOT NULL after `num`, -- 添加字段,处于num后面
      change `heroid` `heroid` int(11) NULL,  -- 改变字段类型
      drop primary key, -- 删除主键
      add primary key (`num`) -- 添加主键

    添加主键字段:

    alter table `version` ADD  id int(11) not null auto_increment primary key COMMENT '主键' first; 

    6. 复制表 使用关键字 LIKE   // 20200119

    已经有user_login表, 现在要[水平分表]创建100个相同的表, 使用如下即可, 或者通过存储过程[TBD]

    CREATE TABLE user_login0 LIKE user_login;
    CREATE TABLE user_login1 LIKE user_login;
    CREATE TABLE user_login2 LIKE user_login;
    CREATE TABLE user_login3 LIKE user_login;
    CREATE TABLE user_login4 LIKE user_login;
    CREATE TABLE user_login5 LIKE user_login;
    CREATE TABLE user_login6 LIKE user_login;
    CREATE TABLE user_login7 LIKE user_login;
    CREATE TABLE user_login8 LIKE user_login;
    CREATE TABLE user_login9 LIKE user_login;
    CREATE TABLE user_login10 LIKE user_login;

    ....

     

    CREATE TABLE user_login99 LIKE user_login;

    -- 备注:

    -- 借助上面的序号可以借助Excel实现或者脚本来实现;

     

    执行结果如下:

     

    7.win10下,查看保存sql脚本的地方:

    可以看到之前保存的sql查询 C:\Users\xinfning\Documents\Navicat\MySQL\Servers   // 公司电脑

    C:\Users\william_ning\Documents\Navicat\MySQL\Servers\xxxxx\database_name

    Navicat

     

    硬盘

     

    8.模板参考 // Sublime中编辑

    -- 1.修改test_1表 添加 hascount与note字段

    ALTER TABLE test_1 ADD hascount INTEGER NOT NULL Default 0 COMMENT '总编制';
    
    ALTER TABLE test_1 ADD note TEXT COMMENT '备注';

     

    -- 2.新增test_2表

    DROP TABLE IF EXISTS `test_2`;
    
    
    CREATE TABLE `test_2`  (
      `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
      `operate_time` varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '操作时间',
      `operator_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '操作者id',
      `proname` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '项目名',
      `update_field` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '变更字段',
      `update_before` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '变更前',
      `update_after` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '变更后',
      PRIMARY KEY (`id`) USING BTREE
    ) ENGINE = InnoDB AUTO_INCREMENT = 146 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

     

    -- 3.新增test_3表

    DROP TABLE IF EXISTS `test_3`;
    
    
    CREATE TABLE `test_3`  (
      `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键id',
      `group_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '组名',
      `hascount` int(11) NULL DEFAULT NULL COMMENT '总编制',
      `note` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '备注',
      PRIMARY KEY (`id`) USING BTREE
    ) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

     

     

     

    后续补充

    ...

    3.问题/补充

    TBD

    4.参考

    TBD

    后续补充

    ...

    这里写图片描述

    展开全文
  • SQL语句修改字段默认值

    千次阅读 2019-06-24 22:52:21
    一、SQL语句修改字段默认值 alter table 表名 drop constraint 约束名字 说明:删除表的字段的原有约束 alter table 表名 add constraint 约束名字 DEFAULT 默认值 for 字段名称 说明:添加一个表的字段的约束并指定...

    一、SQL语句修改字段默认值

    alter table 表名 drop constraint 约束名字

    说明:删除表的字段的原有约束

    alter table 表名 add constraint 约束名字 DEFAULT 默认值 for 字段名称

    说明:添加一个表的字段的约束并指定默认值

    go

    例:

    alter table T_ping drop constraint DF_T_ping_p_c
    alter table T_ping add constraint DF_T_ping_p_c DEFAULT ((2)) for p_c
    go

    alter table with check T_ping add constraint DF_T_ping_p_c DEFAULT ((2)) for p_c

    alter table with nocheck T_ping add constraint DF_T_ping_p_c DEFAULT ((2)) for p_c

    两者的区别是If you do not want to verify new CHECK or FOREIGN KEY constraints against existing data, use WITH NOCHECK. This is not recommended except in rare cases. The new constraint will be evaluated in all future updates.

    对于要建立约束的两个表,如果其中的一个已有数据,把“在创建时检查现有数据”选项设置为“是”将告诉SQL SERVER:当开始具体创建约束时,要对表中现有的数据进行检查。如果现有数据符合约束的定义,则约束被成功加入到表中,然而,如果有任何数据不能通过约束验证,则不会把约束应用到数据库中。

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/henryhappier/archive/2009/11/18/4829242.aspx

    转载于:https://www.cnblogs.com/henryhappier/archive/2010/01/25/1656150.html

    展开全文
  • Oracle使用SQL语句修改字段类型

    千次阅读 2020-10-19 16:55:10
    1.如果表中没有数据 Sql代码 1 alter table 表名 modify (字段名1 类型,字段名2 类型,字段名3 类型.....) 2 alter table student modify(id number(4));---将student表中id字段改为number,...--修改字段名 ALTER

    1.如果表中没有数据

    Sql代码

    1 alter table 表名 modify (字段名1 类型,字段名2 类型,字段名3 类型.....)  
    2 alter table student modify(id number(4));---将student表中id字段改为number,长度4   
    3 alter table student modify(id number(4),studentName varchar2(100));
    

    2.如果原表中存在数据

    Sql代码

    --修改原字段名  
    ALTER TABLE 表名 RENAME COLUMN 字段名 TO 字段名1;
    --添加一个和原字段同名的字段  
    ALTER TABLE 表名 ADD 字段名 VARCHAR2(30);  
       
    --将原来的数据更新到新字段中,这是要注意,一定要显示进行数据类型转换(不同于MSSQL)  
    UPDATE 表名 SET 字段名 = CAST(字段名1 AS VARCHAR2(30));
    --删除原来的备份字段  
    ALTER TABLE 表名 DROP COLUMN 字段名1;
    
    展开全文
  • SQL语句增加字段修改字段修改类型、修改默认值
  • 微软的 Access 中包含 Data Definition Language (DDL) 来建立删除表以及关系,当然了,这也可以 DAO 来解决。
  • sql语句修改字段类型

    万次阅读 热门讨论 2018-05-31 21:33:02
    修改字段名: sp_rename ‘表名.原字段名’,’表名.新字段名’ 例如我想把Card_Info表里面的OnDate改为Date: sp_rename ‘Card_Info.OnDate’,’Card_Info.Date’ 修改数据类型: alter table 表名 alter ...

    修改字段名:

    sp_rename ‘表名.原字段名’,’表名.新字段名’
    例如我想把Card_Info表里面的OnDate改为Date:
    sp_rename ‘Card_Info.OnDate’,’Card_Info.Date’

    修改数据类型:

    alter table 表名 alter column 列名 数据类型
    例如我想把Card_Info表里面的Time数据类型由time(7)改为time(0)
    alter table Card_Info alter column Time time(0)

    修改字段名为非空:

    ALTER TABLE 表 ALTER COLUMN [字段名] 字段类型 NOT NULL
    如我想把Card_Info表里面的Time数据类型改为允许为空:
    alter table Card_Info alter column Time time(0) null
    改为非空就是后面改为not null;

    增加字段名:

    通用式:alter table [表名] add [字段名] 字段属性
    例如我想在CancelCard_Info表里面加一个IsCheck是否结账名;
    alter table CancelCard_Info add IsCheck varchar(10)

    以前想修改字段类型的话我直接把数据库某一个表给删掉重新添加,但是学习了这些sql语句后再去修改就会变得方便很多。以上几个修改方法我都试过了;很有用的sql语句;

    展开全文
  • oracle使用sql语句增加修改删除字段示例
  • sql语句修改字段长度

    千次阅读 2016-12-19 10:12:19
    语法: alter table alter column 新类型名(长度) 示例:假如有名T1,字段名F1,原来F1为varchar(10),现在要改为varchar(100),则可以这么写: alter table T1 alter column F1 varchar(100)
  • 1.修改字段的长度 语法: ALTER TABLE 表名 MODIFY COLUMN 字段名 数据类型(修改后的长度); 例子: ALTER TABLE attence MODIFY COLUMN id INT(20); 2.修改字段的名称 语法: alter table <表名> change <...
  • MySQL如何使用SQL语句修改单个字段的编码MySQL如何使用SQL语句修改单个字段的编码 MySQL如何使用SQL语句修改单个字段的编码 这里假设表名为Student,字段名为Sname alter table Student change Sname Sname varchar...
  • SQL语句: 用SQL语句修改字段的默认值

    千次阅读 2007-03-21 16:36:00
    ALTER TABLE 表名 add constraint 约束名 default 1000 for 字段名 
  • 1 /*修改字段类型*/ 2 alter table 表名 ALTER COLUMN 列名 nvarchar(500) 3 go 4 /*增加字段和说明*/ 5 alter table 表名 add 列名 nvarchar(50) 6 EXECUTE sp_addextendedproperty N'MS_Description','说明...
  • sql语句 修改字段属性

    千次阅读 2016-02-24 18:00:05
    alter table sysmenu modify 字段字段属性;
  • SQL 语句修改字段名称

    千次阅读 2012-07-30 18:06:27
    sp_rename 是一个功能丰富的存储过程,能够对 表、视图、列、存储过程、...下例将TB_MoneyPay_PJApply表中的字段PayMoney修改为PaidCash: EXEC sp_rename 'TB_MoneyPay_PJApply.[PayMoney]', 'PaidCash', 'COLUMN
  • 用SQL语句修改字段的默认值(downmoon)

    千次阅读 2006-08-21 14:48:00
    本示例来显示用SQL语句修改cells表的字段AutoPublishCount的默认值从10改为1000/**//*******************创建表结构和默认值************************/IF EXISTS (SELECT name FROM master.dbo.sysdatabase
  • 用SQL语句添加删除修改字段 更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。...
  • sql语句字段值有单双引号

    千次阅读 2013-07-09 15:20:34
    单引号可以两个单引号表示: select * from table where name = 'Rin''';其中name的为“Rin'” 处理时字符串替换即可 双引号不用做特殊处理,直接...select * from table where name = '“双引号字段值”';
  • SQLServer用SQL语句字段设置约束

    千次阅读 2020-12-26 20:45:47
    文章目录SQL server数据库的基础学习一、用SQL语句字段设置约束设置check约束设置default约束设置unique约束 SQL server数据库的基础学习 一、用SQL语句字段设置约束 1、约束:分为主键约束、外键约束、check...
  • SQL 语句修改字段名称,属性,默认值

    千次阅读 2011-08-19 16:04:49
    sp_rename '表名....--修改字段名: ALTER TABLE tab_info rename COLUMN createname TO thisname; --修改字段属性: ALTER TABLE tab_info ALTER COLUMN thisname VARCHAR(200) NOT NULL;
  • select a.*, (case a.state when 1 then '修' when 2 then '修2' end ) as dess from repair a
  • mysql修改数据库某个字段的某一部分。 需求:我数据里面存的图片地址是ip+文件名的方式,这种方式不利于拓展,所以我想把它改一下不存ip进去 update users set photo = replace(photo,'http://127.0.0.1','#fs1...
  • 用SQL语句增加修改字段

    万次阅读 2018-08-30 09:58:00
    一、修改字段默认值 alter table 表名 drop constraint 约束名字 ------说明:删除表的字段的原有约束 alter table 表名 add constraint 约束名字 DEFAULT 默认值 for 字段名称 -------说明:添加一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 590,846
精华内容 236,338
关键字:

如何用sql语句修改字段的值