1、创建名为TestDB的数据库
CREATE DATABASE TestDB CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci';
2、删除数据库
DROP DATABASE TestDB;
3、新建ANSWER表
CREATE TABLE IF NOT EXISTS answer(
-- AUTO_INCREMENT 自增
id INT UNSIGNED AUTO_INCREMENT,
title VARCHAR(100) NOT NULL,
autor VARCHAR(40) NOT NULL,
-- 设置主键
PRIMARY KEY (id)
)ENGINE = INNODB DEFAULT CHARSET=utf8;
4、公司级常用新建表语句
CREATE TABLE answer(
id INT NOT NULL AUTO_INCREMENT COMMENT '回答id',
user_id INT NOT NULL DEFAULT '0' COMMENT '用户id',
question_id INT NOT NULL DEFAULT '0' COMMENT '问题id',
answer VARCHAR (100) NOT NULL DEFAULT '0' COMMENT '回答内容(简短)',
answer_detail text NOT NULL COMMENT '回答内容(详细)',
review text NOT NULL COMMENT '讲师点评',
pass TINYINT NOT NULL DEFAULT '0' COMMENT '是否通过',
create_time INT NOT NULL DEFAULT '0' COMMENT '创建时间',
update_time INT NOT NULL DEFAULT '0' COMMENT '修改时间',
is_deleted TINYINT NOT NULL DEFAULT '0' COMMENT '是否已删除',
PRIMARY KEY(id),
KEY idx_user_id (user_id)
)ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT = '回答';
6、新增/插入输入
INSERT INTO table_name (field1,field2,…filedN)
VALUES
(value1,value2,…valueN)
INSERT INTO answer (user_id,question_id,answer,answer_detail,review,create_time,update_time)
VALUES(1,1,‘你猜’,‘我也不知道’,‘无点评’,UNIX_TIMESTAMP(NOW()),UNIX_TIMESTAMP(NOW()));
7、查询数据
SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N] [OFFSET M]
实例:
SELECT user_id,answer,review FROM answer
WHERE is_deleted= 0;
结果:
查询所有字段可以通过*
WHERE 关键字
SELECT field1,field2,...fieldN FROM table_name1,table_name2...
[WHERE condition1 [AND[OR]] conditon2]
WHERE 子句类似于程序语言中的if判断,根据MySQL表中的字段值来读取指定的数据。也可用于SQL的DELETE或UPDATE命令,如果常用的查询字段可以将其设计为索引。
8、LIKE子句
SQL LIKE 子句中使用%表示任意字符,如果没有百分号,LIKE子句于等号的效果是一样的。
9、ODER BY 排序
SELECT * FROM answer WHERE answer = ‘你猜’ ORDER BY id DESC;
实例:UPDATE answer SET question_id = 2,update_time = UNIX_TIMESTAMP(NOW()) WHERE user_id = 1;
在执行SQL语句时候,某些业务要求,一系列操作必须全部执行,而不能仅执行一部分。
把多条语句作为一个整体进行操作的功能,被称为数据可事物。