mysql 笔记四
表数据操作
insert 不指定具体的字段名
insert into table_name values(value1,value2,...)
字段数相对应
类型对应
insert 选择字段插入
insert into table_name (col_name1,col_name2..) values(value1,value2,...)
同时插入多条记录
insert into table_name [(col_namelist)] values(valuelist1)
,(valuelist2),....;
# EX:
insert into user (name,passwd) values("duo",123) ,("weo",456),("wos",785);
带字段约束条件的数据插入
create table dept ( id int primary key auto_increment, name varchar(20) not null unique, location varchar(20) default 'A楼' );
insert into dept values(null, '图书馆',default);
将查询结果插入表
insert into table_name [(col_namelist)]
Select_statement
# select_statement:可以单独执行的查询语句
数据修改和删除
- UPDATE语句
update table_name SET column_name1 = value1, column_name2 = value2...;
#注意
如果一个字段的类型是时间戳类型(timestamp),那么这个字段在其他字段更新时自动更新。
update dept set location="B楼";
- delete语句
# 删除记录
delete from table_name [where 条件表达式];
# 删除原来的表并重新创建一个表,速度比delete快。
truncate table_name;
数据查询
1. 查询所有字段
select * from table_name;
2. 指定字段查询
select column_name1,column_name2 from table_name;
EX: select name from user;
3. distinct 避免重复数据查询(去重)
select distinct column_name from table_name;
# 与之相对应的 ALL,(默认查询为ALL)
4. 为表和字段取别名
select name as 姓名,passwd ps from user;
#Ex:AS 也可用空格代替
5. 查询表达式计算结果
select now();
select version();
select 会员名,year(now())-year(生日) as 年龄 from user;
6. 表别名
select * from user as 用户;
where子句
在select语句中,语句首先从from子句开始执行,执行后会生成一个中间结果集,然后开始执行where子句。where对from结果集进行过滤,返回true和FALSE,为true则继续留在结果集中,FALSE则移出该结果集。
- 比较运算符
运算符 | 作用 |
---|---|
= | 不保存 |
<=> | 相等或者等于空 |
< | 小于 |
> | 大于 |
<= | 小于或等于 |
>= | 大于或等于 |
<> | 不等于 |
!= | 不等于 |
BETWEEN min AND max | 在man和max之间 |
in(value1,value2..) | 在集合(value1,value2...)中 |
is null | 为空 |
is not null | 不为空 |
LIKE | 模糊查询,使用通配符匹配 |
regexp 或 rlike | 正则表达式匹配 |
EX:select * from user where name like 'd__';
%:表示任意个或多个字符。可匹配任意类型和长度的字符。
_:表示任意单个字符。匹配单个任意字符时,常用来限制表达式的字符长度(一个“—” 可以代表一个中文字符)
逻辑运算符
运算符 | 作用 |
---|---|
NOT 或 ! | 逻辑非 |
AND 或 & | 逻辑与 |
or 或 || | 逻辑或 |
XOR | 逻辑异或 |
位运算符
位运算符是将给定的操作数转化为二进制后,对各操作数的每一位都进行指定的逻辑运算,得到的二进制结果转化为十进制后就是位运算的结果。
位运算符 | 作用 |
---|---|
& | 位于 |
| | 位或 |
^ | 位异或 |
~ | 位取反 |
>> | 位右移 |
<< | 位左移 |