数据库语句
创建数据库
CREATE DATABASE "数据库名称"
例如 : CREATE DATABASE "database_demo"
删除数据库
DROP DATABASE "数据库名称"
例如 : DROP DATABASE "database_demo"
表语句
建表语句
CREATE TABLE IF NOT EXISTS `表名` (
...
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
CREATE TABLE "表名"(
"字段名称" "字段类型" "默认值" "注释" )
例如 :
CREATE TABLE `sc_user` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`uuid` varchar(50) DEFAULT NULL COMMENT '用户唯一uuid',
`name` varchar(50) DEFAULT NULL COMMENT '用户真实姓名',
`age` int(2) DEFAULT NULL COMMENT '年龄',
`sex` int(1) DEFAULT NULL COMMENT '性别 0:男 ,1:女 ',
`birthday` datetime DEFAULT NULL COMMENT '生日',
`email` varchar(80) DEFAULT NULL COMMENT '邮箱',
`phone` varchar(80) DEFAULT NULL COMMENT '手机号',
`password` varchar(100) DEFAULT NULL COMMENT '密码',
`salt` varchar(80) DEFAULT NULL COMMENT '密码加密的盐',
`create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` enum('Y','N') NOT NULL DEFAULT 'N' COMMENT '数据是否删除的标志',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户表';
根据已有的表建新表
CREATE TABLE "新表名" LIKE "旧表名"
CREATE TABLE "新表名" AS SELECT col1,col2… FROM "旧表名" DEFINITION ONLY
IF NOT EXISTS 判断表是否存在,不存在则创建
删表语句
删除表
DROP TABLE "表名";
例如: DROP TABLE `sc_user`
DROP 命令会将整个结构删除,删除之后不能新增数据,除非新建表
DROP TABLE IF EXISTS "表名";
例如: DROP TABLE `sc_user`
IF EXISTS 判断表是否存在,存在则删除
添加字段
ALTER TABLE "表名"
ADD "字段名称" "字段类型" "默认值" "注释",
ADD "字段名称" "字段类型" "默认值" "注释";
删除字段
ALTER TABLE "表名" DROP COLUMN "字段名称" ;
修改表字段
ALTER TABLE 表名 MODIFY [COLUMN] 字段名 新数据类型 新类型长度 新默认值 新注释;
// COLUMN关键字可以省略不写
数据的基础增删改查
添加
INSERT INTO 表名称 VALUES (值1, 值2,....)
这种添加方法,需要把表的每个字段都传值,没有值传null,表字段和值一一对应
INSERT INTO "表名"("字段1","字段2"……) VALUES(value1,value2……)
给指定字段插入数据,插入数据后其他字段默认null
批量添加
INSERT INTO "表名"("字段1","字段2"……) VALUES(value1,value2……),(value3,value4……),(value5,value6……)
查询
SELECT * FROM "表名"
查询表的所有数据
SELECT "字段1","字段2" FROM "表名" where "筛选条件"
查询表的指定字段的数据
SELECT * FROM "表名" where "筛选条件"
查询符合条件的数据
删数据
DELETE FROM "表名" where "筛选条件"
删除符合条件的数据
TRUNCATE TABLE "表名"
例如: TRUNCATE TABLE `sc_user`
TRUNCATE 命令只会清楚表数据,自增id清空,不会删除表结构,可继续添加数据
更新
UPDATE "表名" set "字段" = "值" WHERE "筛选条件"
更新符合条件的数据的一列值