您的位置:金沙游乐场85155 > 大数据库 > SQLServer修改表数据

SQLServer修改表数据

发布时间:2019-10-06 09:22编辑:大数据库浏览(57)

    使用SSMS数据库管理工具修改数据

    1.1基本概念:

    修改任意一条或者多条都可以

    1:打开数据库,选择数据表,右键点击-》编辑所有行(如未配置,点击编辑前200行)。

    金沙85155登入 1

    2、编辑需要修改的数据-》编辑完成后,右键点击空白处-》选择执行SQL即可编辑成功。

    金沙85155登入 2

    Mysql是一种关系型数据库,将数据存放在不同的表格中,表格中的要素有:

    使用T-SQL脚本修改数据

    金沙85155登入,?列:表中的一个字段,一个列包含了相同数据类型的数据。

    修改单表中一行单列或者多列数据

    语法:update 表名 set 列名1=值,列名2=值 where 条件;

    示例一:update test1  set age='21' where id='1';

    示例结果:

    金沙85155登入 3

    ?行:表中的数据是按行存储的,行是表中的一个记录。如果将表想象为网格,网格中垂直的列为表列,水平行为表行。

    修改单表中多行一列或多列数据

    语法:update top(数量) 表名 set 列名1=值,列名2=值2 where 条件;

    示例:

    update test1 set age='23' where id in ('1','2');

    update test1 set age='22' where id between '3' and '4';

    update test1 set age='23' where id>='5' and id <='6';

    update top(2) test1 set age='23' where id>='5';

    update test1 set age='23' where test1.id in (select top(2) id from test1 order by id desc);

    示例结果:

    金沙85155登入 4

    金沙85155登入 5

    ?主键:数据库中的标识列,主键具有唯一性且不能为NULL。

    多表关联修改表中数据

    语法:update 表1 set 表1.列1=值,表1.列2=值 from 表1 as a,表2 as b where a.列名=b.列名;

    示例:update test1 set test1.name='李华',test1.sex='女' from test1 as a,test2 as b where a.classid=b.id;

    示例结果:

     金沙85155登入 6

    金沙85155登入 7

    1.2mysql语句规范:

    总结:修改数据表数据,灵活组合修改数据列,数据源,查询条件是关键。

     

    1)Sql语句必须以;结束;

    2)保留关键字不区分大小写;

    3)可自由加入空白和换行符;

    4)注释的使用:单行注释格式为:【--注释】,多行注释格式为【/*注释*/】。

    1.3 mysql的命令行操作命令:

    1)登录mysql:【mysql  -h 主机名 -u 用户名 -p】-h表示要连接到哪一台主机的

    mysql数据库,当登录当前主机时可省略;-u指定用户名,默认为root;-p为安装时设定的密码,如果为空可以省略。

    示例:

    登录本机mysql数据库:【mysql -u root -p】

    登录远程主机mysql数据库:【mysql -h 192.168.10.111 -u root -p】

    登录本机mysql数据库直接加密码:【mysql -u root -p11111】

    2)创建/删除数据库:创建:【create database 数据库名;】删除:【drop database 数据库名】

    示例:

    创建一个名为test的数据库:【create database test;】

    删除一个名为test的数据库:【drop database test;】

    3)查询数据库/数据表:

    ?查询数据库:【show databases;】在通过该命令查询时发现在除自己创建的数据库之外,还有三个默认的库,查找相关资料后对其进行了认识,分别是:information_schema库,该库保存着关于MySQL服务器所维护的所有其他数据库的信息,如数据库名,数据库的表等;mysql库,mysql的核心数据库,存储了数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息;performance_schema库,该库主要用于收集数据库服务器性能参数。

    ?查询数据表:【show tables】,注意查询数据表应该在选择好了数据库之后进行,如果是在进入mysql后未选择特定数据库使用此命令,则无效。

    ?查询表结构:【desc 表名】。

    4)选择数据库:有两种方式,分别为:1.登录时直接指定:【mysql -D 所选择的数据库名 -h 主机名 -u 用户名 -p】2.登录后选择操作的数据库:【use 数据库名】

    示例:

    登录时:【mysql -D testdb -u root -p】,或者【mysql -D testdb -u root -p11111】

    登录后:【use testdb】

    补充,另一种登录时的选择,更简单:【mysql -u root -p11111 testdb】

    5)创建/删除数据表:

    ?创建数据表:【create table 表名 (列声明)】列的声明指定了各列的属性,通常包含以下几点要素:

    1.表名;

    2.表中的各列名;

    3.数据类型:mysql中定义了几个大类的数据类型,具体分类见下方:

    4.是否为主键;

    5.是否可以为NULL;

    整型:(无符号通过unsigned关键字标识)

    类型 字节 范围(有符号) 范围(无符号)

    tinyint 1 -128~127 0~255

    smallint 2 -32768~32767 0~65535

    mediumint 3 -8388608~8388607 0~16777215

    int 4 -2147483648~2147483647 0~4294967295

    bigint 8 +-9.22*10的18次方 0~1.84*10的19次方

    浮点型:

    类型 字节 含义 用途

    float 4 float(m,d)最大位数m位,小数点后d位 单精度浮点数

    double 8 double(m,d)最大位数m位,小数点后d位 双精度浮点数

    decimal decimal(m,d),若m>d,则为m+2;否则为d+2 适用于高精度 小数

    日期和时间类型:

    类型 字节 格式 示例

    DATE 3 YYYY-MM-DD 2017-07-22

    TIME 3 HH:MM:SS 15:47:30

    YEAR 1 YYYY 2017

    DATETIME 8 YYYY-MM-DD HH:MM:SS 2017-07-22 15:47:30

    TIMESTAMP 4 YYYYMMDD HHMMSS 20170722 154730

    字符串类型:

    类型 字节 含义

    CHAR 0-255;char(m)表示存储字符长度为m,不够则补空格,超出则截取m个 定长字符串

    VARCHAR 0-65535 变长字符串

    TINYBLOB 0-255 短二进制字符串

    BLOB 0-65535 二进制形式的文本数据

    MEDIUMBLOB 0-16777215 二进制形式的中等文本数据

    LONGBLOM 0-4294967295 二进制形式的长文本数据

    TINYTEXT 0-255 短文本字符串

    TEXT 0-65535 文本字符串

    MEDIUMTEXT 0-16777215 中等本文字符串

    LONGTEXT 0-4294967295 长文本字符串

    示例:

    【create table testworkers

    (

    id int unsigned not null auto_increment primary key,

    name char(8) not null,

    sex char(6) not null,

    age tinyint unsigned not null

    );】

    ?删除数据表:【drop table 表名;】

    示例:

    删除testworkers表:【drop table testworkers;】

    6)数据的增删改查等操作:

    ?插入数据:【insert into 表名 [(列名1,列名2......列名n)] values [(值1,值2......值n)]】。有以下几点需要注意:

    1.into可以省略;

    2.字符串需要使用’ ’或者” ”;

    3.列名可以省略,但是此时必须按照各列的定义顺序来插入数据;

    4.可以只插入部分列的数据,其余没有出现的列将被赋予默认值;

    5.可以通过一条语句一次性插入多行数据,格式为【insert into 表名values (值1,值

    2,值3),(另一个列1的值,另一个列2的值,另一个列3的值); 】;

    5.可以使用set子句来插入数据,格式为【insert into set 列名1=’值1’,列名2=’值2’】;

    6.auto_increment标识的字段可以不用赋具体值,系统为自动根据前一条目的值进行自增。

    示例:

    省略列名的插入:【insert into testworkers values (10001,"axx","male",35);】

    部分列的插入:【insert testworkers (name,sex,age) values (bxx,"female",27);】

    一次性插入多列:

    【insert into testworkers values (10003,'cxx','male',28),(10004,'dxx','male',40);】

    一次性插入多列,同时只对部分列赋值:

    【insert into testworkers (id,name,sex) values (10005,'cxx','male'),(10006,'dxx','male');】

    使用set子句插入,同时只对部分列赋值:【insert into testworkers set name='exx',age='50';】

    ?查询数据:

    1.查询表的全部内容:【select * from 表名;】

    2.查询单个列:【select 列名 from 表名;】

    3.查询多个列:【select 列名1,列名2......列名n from 表名;】

    4.查询列并限制前n行:【select 列名from 表名 limit n;】,查询列并限制从m+1行开始的n行:【select 列名from 表名 limit m offset n;】

    5.只查询不同的值:【select distinct 列名 from 表名;】注意distinct作用于其后所有的列,不是单列,当作用于如下多列时【select distinct 列名1,列名2 from 表名】,列1和列2同时比较,只有当两行的列1和列2都相同时才不会列出,有一个相同则会列出。

    6.查询单个并排序:使用order by 子句:【select 列名 from 表名 order by 列名;】注意这里的两个列名并不一定需要相同,且order子句一定在命令的最末尾。

    7.查询多个列并排序:【select 列名1,列名2......列名n from 表名 order by 列名x 列名y;】要注意的是:排序按语句的顺序进行,当列x的所有数据不同时,列名y排序无效;当列x的数据有重复时,则按照列y的顺序进行排序。

    本文由金沙游乐场85155发布于大数据库,转载请注明出处:SQLServer修改表数据

    关键词: