• mysql与SQL SERVER 基本语法区别


    无论SQL SERVER 还是MYSQL 一个表只能存在一个字段是自增长列

    1、修改表

    --SQL SERVER 
    alter table table_name
    drop column column_name
    add column_name 数据类型 [完整性约束]
    --mySQL
    alter table table_name
    drop column_name
    add column_name 数据类型 【FIRST|AFTER 列名】
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    修改表名

    sql server: EXEC sp_rename ‘原有表名’, ‘新表名’;
    mysql:alter table 表名 rename TO 新表名

    修改字段名

    sql server:alter table 表名 rename column A to B
    mysql:alter table 表名 change 原来的列名 新列名 数据类型;
    mysql:alter table 表名 change column int NOT NULL DEFAULT 100;

    修改字段类型

    sql server:alter table 表名 alter column 字段名 类型 not null
    mysql:alter table 表名 modify column 数据类型 【完整性约束】;
    mysql:alter table 表名 modify column CHAR(10);
    mysql:alter table 表名 change column_old column_new 数据类型 【完整性约束】;
    mysql:alter table 表名 change 原来的列名 新列名 数据类型;
    mysql:alter table 表名 change column int NOT NULL DEFAULT 100;

    修改字段默认值

    sql server:alter table 表名 add default(0) for 字段名 with values
      如果字段有默认值,则需要先删除字段的约束,在添加新的默认值,

    select c.name from sysconstraints a
      inner join syscolumns b on a.colid=b.colid
      inner join sysobjects c on a.constid=c.id
      where a.id=object_id(‘表名’)
      and b.name=‘字段名’

    根据约束名称删除约束

    alter table 表名 drop constraint 约束名

    根据表名向字段中增加新的默认值

    alter table 表名 add default (0) for 字段名 with values
    mysql: alter table 表名 alter column set default 1000;–修改字段默认值
    alter table 表名 alter column drop default;–删除字段默认值

    删除字段

    sql server:alter table 表名 drop column 字段名

    删除索引

    sql server: drop index index_name
    mysql: drop index [indexName] on table

    在这里插入图片描述

    临时表

    –SQL SERVER
    在这里插入图片描述
    在这里插入图片描述

    获取表序列值 【INDITITY 、 AUTO_INCREMENT】

    SQL SERVER: @@INDENTITY 、SCOPE_INDENTITY()、以及
    select IDENT_CURRENT(表名)
    select DISTINCT @@IDENTITY as iden from 表明
    MYSQL: select LAST_INSERT_ID()
    PHP:
    mysql_query (“INSERT INTO insect (name,date,origin)
    VALUES(‘moth’,‘2001-09-14’,‘windowsill’)”, $conn_id);
    s e q = m y s q l i n s e r t i d ( seq = mysql_insert_id ( seq=mysqlinsertid(conn_id);

    在这里插入图片描述
    sql SERVER 修改查看 identity

    查看某个表中的自增列当前的值:
    DBCC CHECKIDENT (TableName)

    修改某个表中的自增列当前的值:
    DBCC CHECKIDENT (TableName, RESEED, value)
    RESEED不是列名,固定写法。>

    比如我要把 Division 表中的 自增列 的当前值改为 30 可以用如下命令 DBCC CHECKIDENT
    (Division, RESEED, 30) 然后用 DBCC CHECKIDENT (Division)
    你可以看到显示的是当前值是30

    MySQL insert into 与 insert ignore into、INSERT REPLACE INTO

    NSERT IGNORE INTO 与 INSERT INTO 的区别就是 INSERT IGNORE INTO 会忽略数据库中已经存在的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据。这样就可以保留数据库中已经存在数据,达到在间隙中插入数据的目的。
    INSERT IGNORE INTO 当插入数据时,在设置了记录的唯一性后,如果插入重复数据,将不返回错误,只以警告形式返回。 而 REPLACE INTO 如果存在 primary 或 unique 相同的记录,则先删除掉。再插入新记录。

    MySQL 过滤重复数据、 删除重复数据

    在这里插入图片描述
    在这里插入图片描述

    MySQL 导出数据

    SELECT…INTO OUTFILE语句来简单的导出数据到文本文件上。
    1、select * from 表名 into outfile ‘/xxx/xxx/xxx.txt’

    可以通过命令选项来设置数据输出的指定格式,以下实例为导出 CSV 格式:
    SELECT * FROM passwd INTO OUTFILE ‘/xxx/xxx/xxx.txt’
    FIELDS TERMINATED BY ‘,’ ENCLOSED BY ‘"’
    LINES TERMINATED BY ‘\r\n’;

    SELECT a,b,a+b INTO OUTFILE ‘/tmp/result.text’
    FIELDS TERMINATED BY ‘,’ OPTIONALLY ENCLOSED BY ‘"’
    LINES TERMINATED BY ‘\n’
    FROM test_table;

    在这里插入图片描述

    MySQL

    进入哪个数据库
    Use 数据库;
    查看有数据库
    show Databases;
    删除数据库
    drop database 数据库名称;
    查看当前使用的数据库名
    select database();
    删除表
    drop table 表名;
    drop table if exists 表名;
    插入数据
    每次插入一条
    insert into 表(列1,列2,…列N) values(值1,值2,。。。值N)
    每次插入多条 效率高 sql server 也支持
    insert into 表(列1,列2,…列N) values(值1,值2,。。。值N)[,(值1,值2,。。。值N),(值1,值2,。。。值N)]

    auto_increment VS identity by

    SQLServer中可以不为自动增长列插入值,

    MySQL中需要为自动增长列插入值。

    sql server
    insert into 表名 values( 不需要包括自增长列)
    mysql
    insert into 表名 values( 包括自增长列) 或者 insert into 表名(不包括自增长列) values( 不需要包括自增长列)

    在这里插入图片描述

    MySQL
    命令行:source xxxx.sql # 把脚本 导入数据库

    Alias 别名

    两者一样,
    select col as 别名 from 表 # 关键字 as
    select col 别名 from 表 # 空格
    select col “xxx” from 表 # 双引号

  • 相关阅读:
    删除数据库表中重复数据的方法
    Python_数据容器_集合set
    JAVA将List转成Tree树形结构数据和深度优先遍历
    杰理-watch-更新状态到APP
    【网络安全培训】无线局域网的安全威胁都有哪些?
    使用hping3和wrk模拟泛洪
    4.6 - 堆 4.7 - 图
    DNA修饰贵金属纳米颗粒|DNA脱氧核糖核酸修饰金属钯Pd纳米颗粒PdNPS-DNA
    华为云云耀云服务器L实例评测|华为云云耀云服务器L实例CentOS的存储和备份策略
    第三十三节——组合式API生命周期
  • 原文地址:https://blog.csdn.net/u013400314/article/details/127705560