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则移出该结果集。

  1. 比较运算符
运算符 作用
= 不保存
<=> 相等或者等于空
< 小于
> 大于
<= 小于或等于
>= 大于或等于
<> 不等于
!= 不等于
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 逻辑异或

位运算符

位运算符是将给定的操作数转化为二进制后,对各操作数的每一位都进行指定的逻辑运算,得到的二进制结果转化为十进制后就是位运算的结果。

位运算符 作用
& 位于
| 位或
^ 位异或
~ 位取反
>> 位右移
<< 位左移
原文地址:https://www.cnblogs.com/duoban/p/11559127.html