zoukankan      html  css  js  c++  java
  • Mysql与其他数据库一些不同地方


    1.Insert Set语句
    mysql> create table wison_test1(id int,name varchar(10));
    Query OK, 0 rows affected (0.10 sec)

    mysql> insert into wison_test1 set id=1,name='wison';-------相对于后一条insert语句,返回的提示信息少了一行
    Query OK, 1 row affected (0.08 sec)

    mysql> select * from wison_test1;
    +------+-------+
    | id | name |
    +------+-------+
    | 1 | wison |
    +------+-------+
    1 row in set (0.00 sec)

    mysql> insert into wison_test1 select 2,'Wison';
    Query OK, 1 row affected (0.10 sec)
    Records: 1 Duplicates: 0 Warnings: 0

    mysql> select * from wison_test1;
    +------+-------+
    | id | name |
    +------+-------+
    | 1 | wison |
    | 2 | Wison |
    +------+-------+
    2 rows in set (0.00 sec)
    2.数据类型带长度
    mysql> create table wison_test2(id int(5));
    Query OK, 0 rows affected (0.12 sec)

    mysql> insert into wison_test2 select 1;
    Query OK, 1 row affected (0.10 sec)
    Records: 1 Duplicates: 0 Warnings: 0

    mysql> select * from wison_test2;
    +------+
    | id |
    +------+
    | 1 |
    +------+
    1 row in set (0.00 sec)

    mysql> alter table wison_test2 modify id int(5) zerofill;
    Query OK, 1 row affected (0.58 sec)
    Records: 1 Duplicates: 0 Warnings: 0

    mysql> select * from wison_test2;
    +-------+
    | id |
    +-------+
    | 00001 |
    +-------+
    1 row in set (0.00 sec)

    mysql> insert into wison_test2 select 1111111;
    Query OK, 1 row affected (0.10 sec)
    Records: 1 Duplicates: 0 Warnings: 0

    mysql> select * from wison_test2;
    +---------+
    | id |
    +---------+
    | 00001 |
    | 1111111 |
    +---------+
    2 rows in set (0.00 sec)
    3.BIT类型---直接读取会查询不出结果,需要使用hex()或者bin()
    mysql> create table wison_test3(id bit(2));
    Query OK, 0 rows affected (0.11 sec)

    mysql> insert into wison_test3 select 1;
    Query OK, 1 row affected (0.07 sec)
    Records: 1 Duplicates: 0 Warnings: 0

    mysql> select * from wison_test3;
    +------+
    | id |
    +------+
    | |
    +------+
    1 row in set (0.00 sec)

    mysql> select hex(id) from wison_test3;
    +---------+
    | hex(id) |
    +---------+
    | 1 |
    +---------+
    1 row in set (0.00 sec)

    mysql> select bin(id) from wison_test3;
    +---------+
    | bin(id) |
    +---------+
    | 1 |
    +---------+
    1 row in set (0.00 sec)
    4.TIMESTAMP类型--在Mysql中会根据当前时区不同返回不同的值
    mysql> create table wison_test4(id1 timestamp,id2 datetime);
    Query OK, 0 rows affected (0.09 sec)

    mysql> show variables like 'time_zone';
    +---------------+--------+
    | Variable_name | Value |
    +---------------+--------+
    | time_zone | SYSTEM |
    +---------------+--------+
    1 row in set (0.00 sec)

    mysql> insert into wison_test4 select now(),now();
    Query OK, 1 row affected (0.07 sec)
    Records: 1 Duplicates: 0 Warnings: 0

    mysql> select * from wison_test4;
    +---------------------+---------------------+
    | id1 | id2 |
    +---------------------+---------------------+
    | 2014-04-29 23:05:03 | 2014-04-29 23:05:03 |
    +---------------------+---------------------+
    1 row in set (0.00 sec)

    mysql> set time_zone='+9:00';
    Query OK, 0 rows affected (0.00 sec)

    mysql> select * from wison_test4;
    +---------------------+---------------------+
    | id1 | id2 |
    +---------------------+---------------------+
    | 2014-04-30 15:05:03 | 2014-04-29 23:05:03 |
    +---------------------+---------------------+
    1 row in set (0.00 sec)

    mysql> set time_zone='-7:00';
    Query OK, 0 rows affected (0.00 sec)

    mysql> select * from wison_test4;
    +---------------------+---------------------+
    | id1 | id2 |
    +---------------------+---------------------+
    | 2014-04-29 23:05:03 | 2014-04-29 23:05:03 |
    +---------------------+---------------------+
    1 row in set (0.00 sec)
    5.CHAR数据类型---CHAR会自动将后面的空格截断,VARCHAR会保留空格
    mysql> create table wison_test5(c1 char(5),c2 varchar(5));
    Query OK, 0 rows affected (0.11 sec)

    mysql> insert into wison_test5 select 'a ','a ';
    Query OK, 1 row affected (0.08 sec)
    Records: 1 Duplicates: 0 Warnings: 0

    mysql> select * from wison_test5;
    +------+------+
    | c1 | c2 |
    +------+------+
    | a | a |
    +------+------+
    1 row in set (0.00 sec)

    mysql> select length(c1),length(c2) from wison_test5;
    +------------+------------+
    | length(c1) | length(c2) |
    +------------+------------+
    | 1 | 3 |
    +------------+------------+
    1 row in set (0.00 sec)

    mysql> select concat(c1,'+'),concat(c2,'+') from wison_test5;
    +----------------+----------------+
    | concat(c1,'+') | concat(c2,'+') |
    +----------------+----------------+
    | a+ | a + |
    +----------------+----------------+
    1 row in set (0.00 sec)
    6.ENUM类型---插入的值可以是在枚举的列表中,可以写明值,或者对应的顺序编号(比如3的意思就是第三个值),NULL(插入之后仍为NULL),传入不存在的值插入的是空格
    mysql> create table wison_test6(country ENUM('CN','US','TW','RU','BR'));
    Query OK, 0 rows affected (0.09 sec)
    mysql> insert into wison_test6 values ('CN'),('US'),('1'),('3'),('4'),(2),(NULL);
    Query OK, 7 rows affected (0.06 sec)
    Records: 7 Duplicates: 0 Warnings: 0

    mysql> select * from wison_test6;
    +---------+
    | country |
    +---------+
    | CN |
    | US |
    | CN |
    | TW |
    | RU |
    | US |
    | NULL |
    +---------+
    7 rows in set (0.00 sec)

    mysql> insert into wison_test6 select 'CA';
    Query OK, 1 row affected, 1 warning (0.06 sec)
    Records: 1 Duplicates: 0 Warnings: 1

    mysql> show warnings;
    +---------+------+----------------------------------------------+
    | Level | Code | Message |
    +---------+------+----------------------------------------------+
    | Warning | 1265 | Data truncated for column 'country' at row 1 |
    +---------+------+----------------------------------------------+
    1 row in set (0.00 sec)

    mysql> select * from wison_test6;
    +---------+
    | country |
    +---------+
    | CN |
    | US |
    | CN |
    | TW |
    | RU |
    | US |
    | NULL |
    | |
    +---------+
    8 rows in set (0.00 sec)

    另一个例子----可以看到当枚举值背身为数字时,当insert的value没包含'',则表示是第几个枚举值,否则插入的值为insert的对应值.
    mysql> create table wison_test7(id ENUM('1','2','4','3','5'));
    Query OK, 0 rows affected (0.07 sec)

    mysql> insert into wison_test7 values('1'),('3'),(3),('4'),(4);
    Query OK, 5 rows affected (0.07 sec)
    Records: 5 Duplicates: 0 Warnings: 0

    mysql> select * from wison_test7;
    +------+
    | id |
    +------+
    | 1 |
    | 3 |
    | 4 |
    | 4 |
    | 3 |
    +------+
    5 rows in set (0.00 sec)

    7.在Mysql中,如果列上有索引,无需先Drop Index,可直接修改列。这点与MSSQL不一致。如下:

    mysql> create table test1(id int,name char(5));
    Query OK, 0 rows affected (0.30 sec)

    mysql> create index ix_test1_name on test1(name);
    Query OK, 0 rows affected (0.21 sec)
    Records: 0 Duplicates: 0 Warnings: 0

    mysql> show create table test1;
    +-------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table | Create Table |
    +-------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
    | test1 | CREATE TABLE `test1` (
    `id` int(11) DEFAULT NULL,
    `name` char(5) DEFAULT NULL,
    KEY `ix_test1_name` (`name`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
    +-------+--------------------------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)

    mysql> alter table test1 modify name char(10);
    Query OK, 0 rows affected (0.54 sec)
    Records: 0 Duplicates: 0 Warnings: 0

    mysql> show create table test1;
    +-------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table | Create Table |
    +-------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
    | test1 | CREATE TABLE `test1` (
    `id` int(11) DEFAULT NULL,
    `name` char(10) DEFAULT NULL,
    KEY `ix_test1_name` (`name`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
    +-------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)

  • 相关阅读:
    UVA 10600 ACM Contest and Blackout(次小生成树)
    UVA 10369
    UVA Live 6437 Power Plant 最小生成树
    UVA 1151 Buy or Build MST(最小生成树)
    UVA 1395 Slim Span 最小生成树
    POJ 1679 The Unique MST 次小生成树
    POJ 1789 Truck History 最小生成树
    POJ 1258 Agri-Net 最小生成树
    ubuntu 用法
    ubuntu 搭建ftp服务器,可以通过浏览器访问,filezilla上传文件等功能
  • 原文地址:https://www.cnblogs.com/Wison-Ho/p/3701394.html
Copyright © 2011-2022 走看看