创建数据库
CREATE DATABASE ningxing;
选择数据库
USE ningxing;
创建数据表
CREATE TABLE tb_grade
(
id INT(11),
name VARCHAR(20),
grade FLOAT
);
查看所有数据表
SHOW TABLES;
查看数据表
# 使用 SHOW CREATE TABLE 查看数据表
SHOW CREATE TABLE tb_grade;
SHOW CREATE TABLE tb_grade\G
# 使用 DESC 语句查看数据表
DESC tb_grade;
修改表名
ALTER TABLE tb_grade RENAME TO grade;
修改字段名
ALTER TABLE grade CHANGE name username VARCHAR(20);
修改字段的数据类型
ALTER TABLE grade MODIFY id INT(20);
添加字段
ALTER TABLE grade ADD age INT(10);
删除字段
ALTER TABLE grade DROP age;
修改字段的排列位置
# 将数据表grade的username字段修改为表的第一个字段
ALTER TABLE grade MODIFY username VARCHAR(20) FIRST;
# 将数据表grade的id字段插入到grade字段后面
ALTER TABLE grade MODIFY id INT(20) AFTER grade;
删除数据表
DROP TABLE grade;
主键约束
# 单字段约束
CREATE TABLE example01(
id INT PRIMARY KEY,
name VARCHAR(20),
grade FLOAT
);
# 多字段约束
CREATE TABLE example02(
stu_id INT,
course_id INT,
grade FLOAT,
PRIMARY KEY(stu_id,course_id)
);
非空约束
CREATE TABLE example04(
id INT PRIMARY KEY,
name VARCHAR(20) NOT NULL,
grade FLOAT
);
唯一约束
CREATE TABLE example05(
id INT PRIMARY KEY,
stu_id INT UNIQUE,
name VARCHAR(20) NOT NULL
);
默认约束
CREATE TABLE example06(
id INT PRIMARY KEY AUTO_INCREMENT,
stu_id INT UNIQUE,
grade FLOAT DEFAULT 0
);
设置表的字段值自动增加
CREATE TABLE example07(
id INT PRIMARY KEY AUTO_INCREMENT,
stu_id INT UNIQUE,
grade FLOAT
);
创建表的时候创建索引
# 创建普通索引
CREATE TABLE t1(
id INT,
name VARCHAR(20),
score FLOAT,
INDEX(id)
);
# 创建唯一性索引
CREATE TABLE t2(
id INT NOT NULL,
name VARCHAR(20) NOT NULL,
score FLOAT,
UNIQUE INDEX unique_id(id ASC)
);
# 创建全文索引
CREATE TABLE t3(
id INT NOT NULL,
name VARCHAR(20) NOT NULL,
score FLOAT,
FULLTEXT INDEX fulltext_name(name)
)ENGINE=MyISAM;
# 创建单列索引
CREATE TABLE t4(
id INT NOT NULL,
name VARCHAR(20) NOT NULL,
score FLOAT,
INDEX single_name(name(20))
);
# 创建多列索引
CREATE TABLE t5(
id INT NOT NULL,
name VARCHAR(20) NOT NULL,
score FLOAT,
INDEX multi(id,name(20))
);
# 创建空间索引
CREATE TABLE t6(
id INT,
space GEOMETRY NOT NULL,
SPATIAL INDEX sp(space)
)ENGINE=MyISAM;
使用 CREATE INDEX 语句在已经存在的表上创建索引
# 创建 book 表
CREATE TABLE book(
bookid INT NOT NULL,
bookname VARCHAR(255) NOT NULL,
authors VARCHAR(255) NOT NULL,
info VARCHAR(255) NULL,
comment VARCHAR(255) NULL,
publicyear YEAR not null
);
# 创建普通索引
CREATE INDEX index_id ON book(bookid);
# 创建唯一性索引
CREATE UNIQUE INDEX uniqueidx ON book(bookid);
# 创建单列索引
CREATE INDEX singleidx ON book(comment);
# 创建多列索引
CREATE INDEX mulitidx ON book(authors(20),info(20));
# 删除 book 表
DROP TABLE book;
# 重新创建 book 表
CREATE TABLE book(
bookid INT NOT NULL,
bookname VARCHAR(255) NOT NULL,
authors VARCHAR(255) NOT NULL,
info VARCHAR(255) NOT NULL,
comment VARCHAR(255) NULL,
publicyear YEAR NOT NULL
)ENGINE=MyISAM;
# 创建全文索引
CREATE FULLTEXT INDEX fulltextidx ON book(info);
# 创建表t7
CREATE TABLE t7(
g GEOMETRY NOT NULL
)ENGINE=MyISAM;
# 创建空间索引
CREATE SPATIAL INDEX spatidx ON t7(g);
使用 ALTER TABLE 语句在已经存在的表上创建索引
# 删除 book 表
DROP TABLE book;
# 重新创建 book 表
CREATE TABLE book(
bookid INT NOT NULL,
bookname VARCHAR(255) NOT NULL,
authors VARCHAR(255) NOT NULL,
info VARCHAR(255) NULL,
comment VARCHAR(255) NULL,
publicyear YEAR not null
);
# 创建普通索引
ALTER TABLE book ADD INDEX index_id(bookid);
# 创建唯一索引
ALTER TABLE book ADD UNIQUE uniqueidx(bookid);
# 创建单列索引
ALTER TABLE book ADD INDEX singleidx (comment(50));
# 创建多列索引
ALTER TABLE book ADD INDEX multidx(authors(20),info(50));
# 删除 book 表
DROP TABLE book;
# 重新创建 book 表
CREATE TABLE book(
bookid INT NOT NULL,
bookname VARCHAR(255) NOT NULL,
authors VARCHAR(255) NOT NULL,
info VARCHAR(255) NOT NULL,
comment VARCHAR(255) NULL,
publicyear YEAR NOT NULL
)ENGINE=MyISAM;
# 创建全文索引
ALTER TABLE book ADD FULLTEXT INDEX fulltextidx(info);
# 创建表t8
CREATE TABLE t8(
space GEOMETRY NOT NULL
)ENGINE=MyISAM;
# 创建空间索引
ALTER TABLE t8 ADD SPATIAL INDEX spatidex(space);
使用 ALTER TABLE 删除索引
ALTER TABLE book DROP INDEX fulltextidx;
使用 DROP INDEX 删除索引
DROP INDEX spatidex ON t8;
网友评论