导图社区 MySQL思维导图
MySQL知识点思维导图,内容有数据库语法、数据表语法、修改表语法、表的约束、添加、更新与删除数据、更新数据等。
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
MySQL基础语法
数据库语法
新建数据库,表
CREATE DATABASE 数据库名;
CREATE TABLE 表名;
查看所有数据库
SHOW DATABASES;
查看数据库信息
SHOW CREATE DATABASE 数据库名称;
修改数据库字符集编码
ALTER DATABASE 数据库名称[DEFAULT] CHARACTER SET 编码方式 [COLLATE] 编码方式[_bin];
删除数据库
DROP DATABASE 数据库名称;
数据表语法
查看数据表
SHOW TABLES;
查询当前库中所有表
SHOW CREATE TABLE 表名;
DESCRIBE(DESC)表名;
修改表语法
修改表名
RENAME TABLE 表名 to 新表名;
ALTER TABLE 旧表名 RENAME [TO] 新表名;
修改字段名
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;
修改字段的数据类型(修改列)
ALTER TABLE 表名 MODIFY 字段名 数据类型 约束条件;
添加字段(增加列)
ALTER TABLE 表名 ADD 新字段名 数据类型;
删除字段(删除列)
ALTER TABLE 表名 DROP 字段名;
修改字段的排列位置(更改列的位置)
ALTER TABLE 表名 MODIFY 字段名 数据类型 FIRST/AFTER 字段名;
删除数据表(删除列)
DROP TABLE 表名;
表的约束
主键约束
PAIMARY KEY
也可以建表同时加入
ALTER TABLE 表名 ADD PRIMARY KEY(字段名);
非空约束
NOT NULL
建表同时加入
唯一约束
UNIQUE
默认约束
DEFAULT
字段值自动增加
AUTO_INCREMENT
可以建表同时加入
ALTER TABLE 表名 MODIFY 字段名 字段类型AUTO_INCREMENT;
添加,更新与删除数据
INSERT指定所有字段名语法
INSERT INTO 表名(字段名1,字段名2,...字段名n) VALUES(值1,值2,...值n);
注意:使用INSERT语句添加记录时,表名后的字段顺序可以与其在表中定义的顺序不一致,只需要与VALUES中值得顺序保持一致。
INSERT语句中不指定字段名语法
INSERT INTO 表名 VALUES(值1,值2,...值n);
注意:由于INSERT语句没有指定字段名,添加的值的顺序要和字段在表中定义的顺序形同。
为表指定的字段添加数据
(在INSERT语句中只向部分字段中添加值,其他字段的值为表定义的默认值)
INSERT INTO 表名(字段1,字段2,...字段n) VALUES(值1,值2,...值n);
注意:指定字段名,VALUES中输入的内容和表中指定字段的顺序要一致。
同时添加多条记录
INSERT INTO 表名(字段名1,字段名2,...字段名n)VALUES(值1,值2,...值n),(值1,值2,...值n),(值1,值2,...值n);
REPLACE 语句
REPLACE 语句语法格式与INSERT语句相同,不同之处在于REPLACE语句首先尝试插入记录到表中,如果发现表中如果已经有此行记录(此条记录有主键约束),则先删除此行记录,然后插入新纪录;而INSERT 语句重复上述操作,系统会报错,不允许插入,提示当前记录已经添加PRIMARY KEY。
更新数据
UPDATE语句
语法格式:UPDATE 表名SET 字段名1=值1,字段名2=值2,...字段名n=值n;
1、更新部分数据:根据指定条件更新表中的某一条或者某几条记录,需要使用WHERE语句来指定更新记录的条件。 2、更新全部数据(如果没有使用WHERE语句,将对整张表所有记录指定字段进行操作)
注意:UPDATE语法可以用新值更新原有表行中的各列 SET子句指示要修改哪些列和要给与哪些值
WHERE子句指定应更新哪些行。如果没有WHERE子句,则更新所有的行。
删除数据
DELETE语句(对表中存在的记录进行删除)
语法格式:DELETE FROM 表名 WHERE条件表达式;
1、删除部分数据(根据指定条件删除表中的某一条或某几条记录,需要使用WHERE子句来指定删除条件)
2、删除全部数据: 语法格式:DELETE FROM 表名;
删除数据(效率高)
TRUNCATE语句(删除表中所有记录)
语法:TRUNCATE [TABLE] 表名;
注意:使用TRUNCATE语句删除表中的数据,再向表中添加记录时,自动增加字段的默认初始值重新由1开始,使用DELETE语句删除表中所有记录,再向表中添加记录时,自动增加字段的值为删除时该字段的最大值加1。
表单查询
SELECT语句
mysql中查询数据的基本语句就是SELECT语句,可以根据自己对数据的需求、使用不同的查询条件
语法: SELECT [DISTINCT] *|{字段名1, 字段名2, 字段名3,……} FROM 表名 [WHERE 条件表达式1] [GROUP BY 字段名 [HAVING 条件表达式2]] [ORDER BY 字段名 [ASC|DESC]] [LIMIT [OFFSET] 记录数];
星号(“*”)通配符表示表中所有字段, “字段1,字段2…”表示从表中查询的指定字段,星号(“*”)通配符表示表中所有字段,两者为互斥关系,任选其一。 “DISTINCT”是可选参数,用于剔除查询结果中重复的数据--去掉重复行,合并为一行显示 FROM表名:表示从指定的表中查询数据 [WHERE 条件表达式1]:WHERE是可选参数,用于指定查询条件 “GROUP BY”是可选参数,用于将查询结果按照指定字段进行分组,“HAVING”也是可选参数,用于对分组后的结果进行过滤。 “ORDER BY”是可选参数,用于将查询结果按照指定字段进行排序。排序方式由参数ASC或DESC控制,其中ASC表示按升序进行排列,DESC表示按降序进行排列。如果不指定参数,默认为升序排列。 “LIMIT”是可选参数,用于限制查询结果的数量。LIMIT后面可以跟2个参数,第一个参数“OFFSET”表示偏移量,如果偏移量为0则从查询结果的第一条记录开始…以此类推。如果不指定OFFSET,其默认值为0。第二个参数“记录数”表示返回查询记录的条数。
查询所有字段
1、在SELECT语句中指定所有字段
语法:SELECT 字段名1,字段名2,…… FROM 表名;
2、在SELECT语句中使用星号(“*”)通配符代替所有字段
语法:SELECT * FROM 表名;
查询指定字段
按条件查询
数据库中包含大量的数据,很多时候需要根据需求获取指定的数据,或者对查询的数据重新进行排列组合,这时就要在select语句中指定查询条件对查询结果进行过滤。
一、带关系运算符的查询语法格式如下: SELECT 字段名1,字段名2,…… FROM 表名 WHERE 条件表达式
二、带IN关键字的查询:in关键字用于判断某个字段的值是否在指定的集合中 语法格式如下: SELECT *|字段名1,字段名2,…… FROM 表名 WHERE 字段名 [NOT] IN (元素1,元素2,……) (元素1,元素2,……)表示集合的条件范围,NOT是可选参数,使用NOT表示查询不在IN关键字指定集合范围中的记录。
图一结束,BETWEEN AND及后面知识点在表2