![](https://i-blog.csdnimg.cn/blog_migrate/9a377e8eb463d7db0c99673f144859d9.png)
基础操作
如何在指定数据库中创建表
-
CREATE TABLE 表名
-
(
-
字段名,数据类型,
-
字段名,数据类型,
-
.....
-
)
![](https://i-blog.csdnimg.cn/blog_migrate/51e426332f426aa73ce8363ee5909ea3.png)
添加主键约束
![](https://i-blog.csdnimg.cn/blog_migrate/098893dd3dbf4254b42acd56045ed0c1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ff6d001eb6d022b575fb4026e0e86cc7.png)
-
CREATE TABLE t_emp2
-
(
-
name VARCHAR ( 32 ),
-
deptId INT ,
-
salary FLOAT ,
-
PRIMARY KEY ( name , deptId )
-
)
![](https://i-blog.csdnimg.cn/blog_migrate/1c0c8a39dfd39caeb1de3ed384e4b28f.png)
约束语法规则大全
-
外键约束: constraint 外键名 foregin key(字段名) references 主表名(主键)
-
唯一约束:字段名 数据类型 unqiue
-
非空约束:字段名 数据类型 not null
-
默认约束:字段名 数据类型 default '备注'
-
设置表的属性值自动增加 关键词:AUTO_INCREMENT(auto_increment),默认情况下初始值和增量都为1。
查看数据表的基本结构
DESCRIBE 表名;
当使用该语法查看表的字段信息,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/da37612acb45d7407213d40cda860cb0.png)
其中,该结构中各个字段的含义分别为:
-
NULL
:表示该列是否能存储NULL
值; -
Key
:表示该列是否已编制索引; -
PRI
:表示该列是此表主键的一部分; -
UNI
:表示该列是UNIQUE
索引的一部分; -
MUL
:表示在列中某个给定值允许出现多次; -
Default
:表示该列是否有默认值,如果有的话值是多少; -
Extra
:表示可以获取的与给定列有关的附加信息。
查看数据表详细结构
语法规则为:SHOW CREATE TABLE 表名; 。
表的修改操作
修改表名
语法规则为:ALTER TABLE 旧表名 RENAME 新表名;
修改字段名
语法规则为: ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;
修改字段数据类型
语法规则为: alter table 表名 modify 字段名 数据类型;
添加字段
语法规则为: ALTER TABLE 表名 ADD 新字段名 数据类型 [约束条件] [FIRST|AFTER] 已存在字段名; 。
提示:只要不做[FIRST|AFTER]
的位置说明,在添加字段时MySQL
会默认把新字段加入到表的最后一列。 指定位置插入字段
删除字段
语法规则为: ALTER TABLE 表名 DROP 字段名; 。
修改字段的排列位置
语法规则为: ALTER TABLE 表名 MODIFY 字段1 数据类型 FIRST|AFTER 字段2; 。
删除表的外键约束
语法规则为: ALTER TABLE 表名 DROP FOREIGN KEY 外键约束名; 。
数据的修改操作
为表的所有字段插入数据
语法规则:INSERT INTO 表名 (字段名) VALUES (内容);
为表的指定字段插入数据
语法规则:INSERT INTO 表名 (字段名) VALUES (内容),(内容),(内容);
更新表中指定的内容
语法规则为: UPDATE 表名 SET 字段名1 = 内容1, 字段名2 = 内容2, 字段名3 = 内容3 WHERE 过滤条件; 。
eg: where 用于指定特定的行进行更新。
删除表中的指定行
语法规则为: DELETE FROM 表名 WHERE 条件语句; 。
删除表中所有的行
语法规则为: DELETE FROM 表名; 。 (可用truncate table代替 truncate v.截断)
查询操作
查询数据表中指定字段的内容
SELECT 基本语法规则为: SELECT 字段名 FROM 表名; 。
查询数据表中多个指定字段的内容
语法规则为: SELECT 字段名1, 字段名2 FROM 表名; 。
查询数据表中的所有内容
语法规则为: `SELECT *` `FROM 表名;`
带IN关键词的查询
IN
关键字被用在WHERE
语句的后边,用来过滤你所需要查询的内容。更形象的说,IN
关键字的使用情形就像点名,点到谁谁就要站出来。
语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 IN (n1,n2,n3,...); 。
带NOT IN
关键字的查询
加了NOT
取反后,就意味着,我们要查询的是除了括号中出现内容外的所有内容。
语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 NOT IN (n1,n2,n3,...); 。
带BETWEEN AND
关键字的查询
查询在一个范围里有多少符合条件的数据 要用到between and关键词
语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 BETWEEN n1 AND n2; 。
带NOT BETWEEN AND
关键字的查询
语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 NOT BETWEEN n1 AND n2; 。
使用通配符%
模糊匹配数据内容
百分号通配符%
可以匹配任意长度的字符,甚至包括零字符。
语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 LIKE '字符%'; 。 其中 % 的位置可以根据需要在字符间变化 |
使用通配符_
模糊匹配数据内容
下划线通配符_
与百分号通配符%
类似,也用于模糊匹配。但是区别在于下划线通配符_
只能模糊匹配1个
字符。如果你执意想用下划线通配符_
匹配多个字符,那只能多用几个_
咯!
语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 LIKE '字符_'; 。 其中`_`的位置可以根据需要在字符间变化。 |
查询空值
语法规则为: SELECT 字段名 FROM 表名 WHERE 字段名 IS NULL; 。
查询去除重复后的结果
有的时候,出于对数据分析的要求,分析人员需要消除数据表中重复的数据,那么如何消除呢?别担心,SQL
语句也贴心的为你准备好了消除重复数据的关键字DISTINCT
。
语法规则为: SELECT DISTINCT 字段名 FROM 表名; 。
带AND
关键字的多条件查询
语法规则为: SELECT 字段名 FROM 表名 WHERE 表达式1 AND 表达式2; 。
带OR
关键字的多条件查询
语法规则为: SELECT 字段名 FROM 表名 WHERE 表达式1 OR 表达式2; 。
对查询结果排序
我们知道在MySQL
中从数据表中读取数据都是使用SELECT
语句。
语法:SELECT 字段名 FROM 表名 ORDER BY 字段名 [ASC[DESC]];
默认情况下,它是按升序排列的。(更改参数可以得到不同得排序方式)
ASC
升序关键字ascDESC
降序关键字desc
eg :
注意两者的区别,如果出现筛选,需先where筛选再进行排序order by。
分组查询的单独使用
语法:SELECT 字段名 FROM 表名 GROUP BY 字段名;
分组查询的关键字是Group By
,查询的是每个分组中 首次出现的一条记录。
如图所示:
LIMIT
的使用
在我们查询大量数据结果时,会返回很多条数据,有需要的记录可能就其中的一条或者几条。比如,实现分页功能,若每页显示10
条记录,每次查询就只需要10
条记录。 在MySQL
中,提供了LIMIT
关键字,用来限制查询结果的。
语法 :SELECT 字段名 FROM 表名 LIMIT [OFFSET,] 记录数; 用[]包住的参数,可以不用输入,其具有默认值,不选参数时则为默认值
参数说明:
第一个参数,OFFSET,可选参数,表示偏移量,如果不指定默认值为0,表示从查询结果的第一条记录开始,若偏移量为1,则从查询结果中的第二条记录开始,以此类推。
第二个参数,记录数,表示返回查询结果的条数。
mysql暂时全部完成,继续加油!