对MySQL数据表的操作及各种数据类型的测试

以下所有[]中的内容代表 可省

-- 查看当前数据库中的所有表
SHOW tables;
-- 查看cms_news表的表结构
DESC cms_news;
DESCRIBE cms_news;
SHOW COLUMNS FROM cms_news;
-- 将表名user4 重命名为 user7
-- ALTER TABLE user6 RENAME [TO|AS] user7;

RENAME TABLE user6 TO user7;
-- 创建数据表的格式
-- CREATE TABLE [IF NOT EXISTS] tbl_name(
-- 字段名称 字段类型 [UNSIGNED|ZEROFILL] [NOT NULL] [DEFAULT 默认值] -- -- [[PRIMARY] KEY|UNIQUE [KEY]] [AUTO_INCREMENT]
-- )ENGINE=INNODB CHARSET=UTF8 AUTO_INCREMENT=100;
-- 向表中插入记录INSERT tbl_name VALUE|VALUES(值,...);
INSERT test1 VALUES(-128,-32768,-8388608,-2147483648,-9223372036854775808);
-- 查询表中所有记录 SELECT * FROM tab_name 
SELECT * FROM test1;
-- 查看创建表的标的定义
show create table user1;
-- 修改自增长的值
alter table user6 auto_increment=500;
-- 创建新闻表的 cms_news
-- 编号、新闻标题、新闻内容、新闻发布时间、点击量、是否置顶。新闻所属分类。发布人
CREATE TABLE IF NOT EXISTS cms_news(
id INT,
title VARCHAR(50),
content TEXT,
pubTime INT,
clickNum INT,
isTop TINYINT(1) COMMENT '0代表不置顶,1代表置顶'
);

-- 查看cms_news表的表结构
DESC cms_news;
DESCRIBE cms_news;
SHOW COLUMNS FROM cms_news;

-- 测试整型
CREATE TABLE test1(
num1 tinyint,
num2 smallint,
num3 mediumint,
num4 int,
num5 bigint
);
-- 向表中插入记录INSERT tbl_name VALUE|VALUES(值,...);
INSERT test1 VALUES(-128,-32768,-8388608,-2147483648,-9223372036854775808);

-- 查询表中所有记录 SELECT * FROM tab_name 
SELECT * FROM test1;

-- 无符号UNSIGNED 

CREATE TABLE test2(
num1 tinyint unsigned,
num2 tinyint
);

-- 零填充 ZREOFILL

CREATE TABLE test3(
num1 tinyint(3) ZEROFILL,
num2 smallint zerofill,
num3 mediumint zerofill,
num4 int zerofill,
num5 bigint zerofill
);

insert test3 values(1,1,1,1,1);

-- 测试浮点类型
create table test4(
num1 float(6,2),
num2 double(6,2),
num3 decimal(6,2)
);
insert test4 values(3.1415,3.1415,3.1415);

insert test4 values(3.2495,3.2495,3.2495);

-- 测试CHAR 和 VARCHAR
create table if not exists test5(
str1 CHAR(5),
str2 VARCHAR(5)
);
insert test5 values('1','1');

insert test5 values('123456','123456');

insert test5 values('','');

insert test5 values('1  ','1  ');

insert test5 values('  a','  a');

insert test5 values('啊','啊');


create table test6(
str1 text
);

insert test6 values('sdahklaJadafsjDSAJI');

-- 测试YEAR 
CREATE TABLE IF NOT EXISTS test7(
birth YEAR
);

insert test7 values(1901);
insert test7 values(2155);
insert test7 values(2156);

-- 测试主键
create table if not exists user1(
id int primary key,
username varchar(20)
);
-- 查看创建表的标的定义
show create table user1;

insert user1 values(1,'king');
insert user1 values(13,'king');

create table if not exists user2(
id int,
username varchar(20),
card char(18),
primary key(id,card)
);

insert user2 values(1,'king','111');

insert user2 values(1,'queen','112');

create table if not exists user3(
id int key,
username varchar(20)
);

-- 测试AUTO_INCREMENT
create table if not exists user5(
id smallint key AUTO_INCREMENT,
username varchar(20)
);

insert user5 values(1,'king');

insert user5(username) values('queen');

create table if not exists user6(
id smallint key AUTO_INCREMENT,
username varchar(20)
)auto_increment=100;
create table if not exists user10(
id smallint unsigned key auto_increment,
username varchar(20) not null unique,
password char(32) not null,
email varchar(50) not null default '[email protected]',
age tinyint unsigned default 18,
sex enum('男','女','保密') default '保密',
addr varchar(200) not null default '北京',
salary float(6,2),
regTime int unsigned,
face char(100) not null default 'default.jpg'
);

-- 添加card 字段 char(18)
alter table user10 add card char(18);

alter table user10 add test1 varchar(100) not null unique;

-- 添加到第一个字段
alter table user10 add test2 varchar(20) not null first;

-- 添加到uername 字段之后
alter table user10 add test3 int not null default 100 after username;

-- 选中一次表,完成多个操作
alter table user10
add test4 int not null default 123 after password,
add test5 float(6,2) first,
add test6 set('A','B','C');

--  删除test6 字段
alter table user10 drop test6;

-- 一次删除test1,test3,test4,test5
alter table user10 
drop test1,
drop test3,
drop test4,
drop test5;

-- 添加test字段和删除addr字段
alter table user10
add test int unsigned not null default 10 after sex,
drop addr;

-- 修改字段
-- ALTER TABLE tbl_name MODIFY 字段名称 字段类型[完整性约束条件] [FIRST | AFTER 字段名称]

-- 修改字段名称
-- ALTER TABLE tbl_name CHANGE 旧字段名称 新字段名称 字段类型 [完整性约束条件] [FIRST | AFTER 字段名称]

-- 添加默认值
-- ALTER TABLE tbl_name ALTER 字段名称 SET DEFAULT 默认值

-- 删除默认值
-- ALTER TABLE tbl_name ALTER 字段名称 DROP DEFAULT

-- 添加主键
-- ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type](字段名称...)

-- 删除主键
ALTER TABLE tbl_name DROP PRIMARY KEY 

-- 添加唯一
-- ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]]  UNIQUE [INDEX | KEY][索引名称](字段名称...)

-- 删除唯一 
-- ALTER TABLE tbl_name DROP {INDEX | KEY} index_name 

-- 修改表的存储引擎
-- ALTER TABLE tbl_name ENGINE=存储引擎名称

-- 设置自增长的值
-- ALTER TABLE tbl_name AUTO_INCREMENT=值

-- 删除数据表
DROP TABLE IF EXISTS user10;

DROP TABLE IF EXISTS user6,user7;

你可能感兴趣的:(数据库)