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