MYSQL数据库建表及插数据

MYSQL数据库建表及插数据

一、建表

 CREATE TABLE  MYSQL表名(

    T_ID             numeric(20) not null, 

    T_BIGINT      bigint,

    T_UNSIGNED_BIGINT  bigint ZEROFILL null,

    T_DECIMAL   decimal(10,5),

    T_CHAR        char(20),

    T_VARCHAR  varchar(20),

    T_DATE          date,

    T_DATETIME  datetime,

    T_TIMESTAMP    timestamp, 

    T_TIME      time,

    T_DOUBLE_PRECISION  double precision,

    T_BIT   bit(1),

    T_BLOB   blob,

    T_TEXT    text,

    T_LONG_TEXT longtest,

    T_ENUM  enum('one','two','three','four','five','six','seven','eight'),

    T_SET    set('one','two','three','four','ab','cd'),

    primary key (T_ID)

)engine=innodb;

二、插入数据

CREATE PROCEDURE instance()

BEGIN

DECLARE i int DEFAULT 734503;

START TRANSACTION;

WHILE i<=734513 do

INSERT INTO MYSQL表名 VALUES(

i,-80,145,1234.11111,

'您好','hello!',

from_days(i),from_unixtime(i),from_unixtime(i),now(),

-2.11456,1,

'0xfeeefiiccc','0xfeeeaerhoiwreaHWOHRE','0xfeeeaerhoiwreaHWOHRE0xfeeeaerhoiwre',

'six','one,four'

);

SET i = i +1;

       END WHILE;

COMMIT;

END;

CALL INSTANCE();

DROP PROCEDURE  INSTANCE;

三、字段类型

字段类型 | 定义 | 唯一值 |  非唯一值

------整数------------------

bigint | bigint | i | -111

unsigned bigint  | bigint ZEROFILL null | i | 111

--------字符---------------------------

char | char(20) | i | 'nihao'

varchar | varchar(20) | i | 'zhongguo'

nchar | nchar(20) | i | 'nihao'

nvarchar | nvarchar(20) | i | 'zhongguo'

-------------------------------------------

decimal  | decimal(10,5) | i | 123.45678

----------------------------------------------------

double precision | double precision | - | 123.456789

-------大字段类-------------------------------

binary | binary(200) | - | '0xfeeefiiccc'

varbinary | varbinary(200) | - | '0xfeeefiiccc'

blob | blob| - | '0xfeeefiiccc'

text | text | - | '0xfeeeaerhoiwreaHWOHRE'

longtext | longtext | - | '0xfeeeaerhoiwreaHWOHRE0xfeeeaerhoiwre'

---------时间类-------------------

设置i的默认值为734503,在此基础上往上递增

date | date |from_days(i) | '2018-01-08' /curdate()/sysdate()

datetime | datetime | from_unixtime(i) | '2018-01-08 01:01:01'/current_timestamp/sysdate()

timestamp | timestamp |from_unixtime(i) | '2018-01-08 01:01:01'/current_timestamp/sysdate()

time | time | - |'05:06:08'/now()/sysdate()

注:i为自定义循环变量,以便重复插值; - 表示省略; / 表示有多种可选值

选一个举例说明:decimal  | decimal(10,5) | i | 123.45678

建表时decimal 字段类型可定义为decimal(10,5); 如果该字段为主键,循环插数据时使用 i 赋值;该字段不为主键,循环插数据时使用123.45678赋值。

四、指定主键字段

建表时指定主键字段的三种方法:

第一种:

 CREATE TABLE  MYSQL表名(

     T_ID       bigint  primary key not null,

     T_DATE    date);

第二种:

 CREATE TABLE  MYSQL表名(

    T_ID         bigint not null, 

    T_DATE    date,

    CONSTRAINT  PK_MYSQL表名  PRIMARY KEY (T_ID)

);

第三种:

 CREATE TABLE  MYSQL表名(

    T_ID       bigint  not null,

    T_DATE    date);

ALTER TABLE MYSQL表名 ADD CONSTRAINT  PK_MYSQL表名  PRIMARY KEY (T_ID);

ALTER TABLE MYSQL表名 activate not logged initially;

注:PK_MYSQL表名为约束名

      创建联合主键时,在第2和第3种方法中的括号里直接加入需要增加的字段,用逗号隔开。

如:

CONSTRAINT  PK_MYSQL表名 PRIMARY KEY (T_ID,T_DATE)

ALTER TABLE MYSQL表名 ADD CONSTRAINT PK_MYSQL表名  PRIMARY KEY (T_ID,T_DATE);

五、其它

mysql数据库注释语用#标记;其他数据库注释语用--标记。

六、操作软件

 DbVisualizer 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值