创建表相关:
CREATE TABLE teacher(
id INT PRIMARY KEY AUTO_INCREMENT,
`name` CHAR(10) NOT NULL,
age INT COMMENT '年龄',
address CHAR(10) DEFAULT '中国',
class_id INT,
UNIQUE KEY(`name`),
FOREIGN KEY(class_id) REFERENCES class(id)
);
在创建表的过程中,我们可以对表中的字段进行设置:
primary key 设置为主键
auto_increment 设置为自增
not null 设置为非空
comment 添加注释
default 给字段设置默认值
unique key 设置该字段不可重复
foreign key 设置为外键 reference后为对应表中主键
更改表结构相关:
-- 添加字段
ALTER TABLE `student` ADD COLUMN `address` CHAR(10);
-- 删除字段
ALTER TABLE `student` DROP COLUMN `address`;
-- 修改字段
ALTER TABLE `student` CHANGE `address` `address` CHAR(20);
-- 修改表的名字
ALTER TABLE `student1` RENAME TO `student`;
-- 查看所有的表
SHOW TABLES;
-- 描述表的结构
DESC `student`; -- description
-- 删除表
DROP TABLE `student`;
插入数据相关:
-- 插入部分字段的值,必须把前面对应的字段名都写上
INSERT INTO `student`(`name`, `age`, `gender`) VALUES('王五', 23, '男');
-- 插入所有字段的值,字段名可以不写,但是要与表中对应字段相对应
INSERT INTO `student`(`id`, `name`, `age`, `gender`) VALUES(1, '王五', 23, '男');
INSERT INTO `student` VALUES(12, '王五', 23, '男');
-- 可以连续插入多条数据,用逗号隔开
INSERT INTO `student`(`name`, `age`, `gender`) VALUES('王五1', 23, '男'), ('王五2', 23, '女');
注意:
1、自动增长的 id 可以自己插入数据时手动输入,但是不能输入已经有的,后面的数据 id 会从你输入的 下一个开始;
2、表名和字段名加的是反引号(可以不加),字段值(字符串的)加的是单引号(英文)
修改数据相关:
UPDATE `student` SET `age`=`age`+1;
UPDATE `student` SET `age`=`age`+1 WHERE `id`=9;
UPDATE `student` SET `name`='赵六',`age`=25,`gender`='女' WHERE `id`=12;
where 后面可以添加条件可以根据条件找到要修改的数据
删除数据相关:
DELETE FROM student; -- 没有加限制条件,删除表里面所有的数据,是非常危险的
DELETE FROM student WHERE id=12;
DELETE FROM student WHERE `name`='王五';
-- TRUNCATE删除表里面所有的数据
TRUNCATE TABLE student;
我们可以删除表中的全部数据,但是这样是非常危险的,我们可以根据条件找到要删除的数据,然后再删除。delete 和 truncate 都可以删除表中所有的数据,不同的是 delete 删除完后不会重置自增 id ,而truncate 删除完后会重置自增 id