1.基本语句
1.1创建和删除表
1.1.1创建表
CREATE TABLE text2(
id INT PRIMARY KEY auto_increment,
name VARCHAR(10),
age TINYINT UNSIGNED
)
解析:
PRIMARY KEY:表示主键
auto_increment:这里是主键的自增长
VARCHAR(10):字符串长度为10
TINYINT:微整型
UNSIGNED:取值为非负数
1.1.2删除表
-- 方法1
DROP TABLE text;
-- 方法2
DROP TABLE IF EXISTS text;
解析:
方法1与方法2的区别主要取决与表text是否存在
若表text存在则无差别
若表text不存在,使用方法1会报错,而方法2不会
1.2表的增删改查
1.2.1查找
-- 查询text的所有属性
SELECT *FROM text;
-- 查询text的指定属性
SELECT id,name FROM text;
查找是数据库运行时最频繁的语句,通常可达80%以上
为了减少它的运行时间,我们通常采用index来加快查询,如下代码
-- 创建、展现和删除index
-- INDEX的优缺点:
-- 高select语句的速度
-- 降低updata、insert的执行速度
-- 以age为index创建index_age索引
CREATE INDEX index_age ON text(age);
-- 展现text表中的索引
SHOW INDEX FROM text;
-- 移除索引
DROP INDEX index_age ON text;
注意:主键id也是索引
1.2.2增加(插入)
-- 修改
INSERT INTO text (name,age) VALUES ('吕布',35);
-- 查询结果
SELECT *FROM text;
解析:
这里只插入两个数据是因为主键id有auto_increment的自动增长属性
结果:
1.2.3修改
UPDATE text2 SET name='曹操',age=40 WHERE id=1;
1.2.4删除
-- 删除id=1的记录
DELETE FROM text WHERE id=1;
-- 删除表text中的记录
DELETE FROM text;
-- 删除表text中的记录
TRUNCATE TABLE text;
解析:
delete与truncate的区别
速度上:truncate>delete
功能上:使用truncate删除后,自增长字段id会恢复从1开始增长
使用delete删除会造成如下图所示的情况: