本文是关于MySQL数据库的第二弹。 临时表不受原表数据类型的约束!! SQL语法不区分大小写。
insert into 表名 values (数据,数据);
也可以同时插入多条数据:
insert into 表名 values (数据,数据),(数据,数据);
insert into 表名(列名,列名,...) values (数据,数据,...);
select *from 表名;
select 列名,列名 from 表名;
表达式查询是进行列与列之间的运算,呈现出来的数据是以临时表的形式出现。
select 列名,列名+10 from 表名;
也可以:
select 列名1,列名2*列名1 from 表名;
select 列名,列名 as 别名 from 表名;
distinct争对指定列进行去重。
当distinct指定多个列时,要求这些列的值都相同才视作重复。
select distinct 列名 from 表名;
select 列名,列名 from 表名 order by 列名; -- 默认升序
注意事项:
null在排序时,视为最小值。
排序时可以使用别名。
对于MySQL,如果一个SQL没有指定order by 列名,此时的查询结果集的数据顺序是不可预期的。
可以指定多个列排序,多个列之间用逗号分隔。先按第一列排序,若第一列相同则按第二列排序...以此类推。
默认排序是升序排序,使用asc也表示升序排序。
select 列名,列名 from 表名 order by 列名 asc;
使用desc表示降序排序(desc -> descend)。
select 列名,列名 from 表名 order by 列名 desc;
比较运算符
> 大于符号 >= 大于等于符号 < 小于符号 <= 小于等于符号 = 比较相等符号,不可以比较空(null = null 结果还是null =》false <=> 比较等于,可以比较空(null <=> null 结果是true <> 不等于符号 != 不等于符号 between a0 and a1 范围[a0,a1] in(option,....) 如果是option当中任意一个,返回true is null 是否为空 is not null 是否不为空 like 模糊匹配
and | 和 |
---|---|
or | 或者 |
not | 非 |
select 列名,列名 as 别名 from 表名 where 条件;
(1) in(option,....)
select 列名,列名 as 别名 from 表名 where 列名 in(数据,数据,...);
(2) like 模糊匹配
select 列名,列名 as 别名 from 表名 where 列名 like '邹%';
select 列名,列名 as 别名 from 表名 where 列名 like '邹__';
limit 声明从哪一条开始查询(从0开始计数),从哪一条查询结束。
select *from 表名 limit m,n;
select *from 表名 limit n offset m;
update 表名 set 列名 = 值 where 条件;
update 表名 set 列名 = 值 order by 条件;
update 表名 set 列名 = 值 limit 条件;
delete from 表名 where 条件;
可以为空
不可以为空
列的值唯一
插入/修改数据时,会先查询数据是否已经存在。
存在 -> 插入/修改失败;不存在 -> 插入/修改成功 。
主键(唯一且不为空)
MySQL中,一个表只能有一个主键。
create table 表名(列名 varchar(20) unique,列名 int primary key);
关于主键,MySQL给我们提供了自增主键。
自增主键(auto_increment):MySQL给每个表维护了一个全局变量,每次分配一个主键全局变量就自增,下次分配接着上次的继续分。以最大的数据为标准。
即使某一次主键自增失败,该全局变量也会发生增加。
create table 表名(列名 varchar(20) unique,列名 int primary key auto_increment);
外键,用于关联其他表的主键或唯一键
foreign key (列名) references 主表(列名);
默认值
create table 表名 (列名 int default 数值);
保证列中的值符合指定的条件,但MySQL5中不会报错,忽略效果。了解即可
表的设计有一对一,一对多,多对多三种形式。
一对一的表,例如银行里面的个人信息是只争对某一个人的。
一对多的表,例如银行的柜姐要对多人服务。
多对多的表,例如高考是一个人要写多张卷子,不同的卷子需要被不同的人作答。
数据库的学习先暂时就到这里啦,大家下次再见!
这篇博客如果对你有帮助,给博主一个免费的点赞以示鼓励,欢迎各位🔎点赞👍评论收藏⭐,谢谢!!!