-
MySQL由瑞典开发查看全部
-
INSERT tdb_goods_cates(goods_name) SELECT goods_cate FROM tdb_goods GOUNP BY goods_cate;
查看全部 -
SET NAMES gbk;
查看全部 -
限制查询结果返回数量
[LIMIT{[offset,]row_countrow_count OFFSET offset}]
例:
SELECT * FROM users LIMIT 2; // 从第一条开始(第一个为0),返回两条
SELECT * FROM users LIMIT 2,3 ;//从第三条开始(第一个为0),返回三条
第三种insert,数据从一个表插入到另一个表:
INSERT table_name(column_name) SELECT ...
例:
INSERT test SELECT username FROM users WHERE age >=30; // 字段不匹配提示
INSERT test(username) SELECT username FROM users WHERE age >=30;
查看全部 -
order by 对查询结果进行排序,默认是升序
order by{col_name}
select * from users order by id desc; //对一个字段排序
select * from users order by age,id desc; //两个字段同时排序
desc是降序
1、对查询结果进行排序:[ORDER BY [col_name | expr | position } [ASC|DESC],...]elect * from user order by id desc;
2、可以同时按多条字段进行排序,规则是先按前面的字段排,在基础上再按后面字段排。
3、如:SELECT * FROM users ORDER BY age,id DESC; 先按照age排序,如果age有重复的,重复的字段里按id排序
查看全部 -
having 语句分组,用在group by后面追加条件,判断式中的字段是必须出现在前面select中的 或者是可以包含没有出现在前面查询中的字段的一个聚合函数count(),max()等等
查看全部 -
查询结果分组 GROUP BY
[GROUP BY {col_name|position} [ASC|DESC],...]
ASC:升序,默认
DESC:降序
position:SELECT语句中列的序号
例:
SELECT sex FROM users GROUP BY sex;
对users中的sex按sex进行分组
例:
SELECT * FROM users GROUP BY 1;
(这里的1表示查询的第一个字段,这里查询所有字段信息,第一个字段就是id,所以会按照id字段进行分组)
1表示SELECT语句中第一个出现的字段,即位置。
建议BY后写列名称,不写位置,因为位置还要人为数。
注意:如果存在相同的值(例如上面的age可能有多个相同的值),只会保留一个。但使用ORDER BY 就不会省略。
查看全部 -
WHERE 条件表达式 对记录进行过滤,
如果没有指定的WHERE子句,则显示所有记录 在WHERE表达式中,
可以使用MYSQL 支持的函数或运算符
查看全部 -
查询表达式
每一个表达式表示想要的一列,必须至少有一个
多个列之间以英文逗号分隔
星号(*)表示所以列 tbl_name.*可以表示命名表的所有列
查询表达式可以使用[As]alias_name为其赋予别名
别名可用于GROUP BY,ORDRE BY或HAVING子句
SELECT 字段出现顺序影响结果集出现顺序,字段别名也影响结果集字段别名。
一、查找记录
1、语法:
SELECT select_expr [,select expr2...] 只查找某一个函数或表达式
{
FROM table_references 查询表名
[WHERE where_conditon] 查询条件
[GROUP BY {col_name|position} [ASC|DESC],...] 按某个字段进行分组,相同的只显示第一个
[HAVING where_conditon] 分组时,给出显示条件
[ORDER BY {col_name|expr|position} [ASC|DESC],...] 排序
[LIMIT {[offset,]row_count|row_count OFFSET offset}] 限制返回数量
}
2、查询表达式的顺序会影响结果顺序
每个表达式表示想要的一列,必须有至少一个
多个列直接以英文逗号分隔
星号*表示所有列
3、使用tbl_name.col_name来表示列记录,这多表查询时可以区别开同名的列
4、使用[AS] alias_name为其赋予别名,别名可以用于GROUP BY、ORDER BY或HAVING子句,例如SELECT id AS userId,username AS uname FROM users; 这样查询出来的结果会用别名表示
查看全部 -
1、删除记录DELETE:分为单表删除和多表删除
2、单表删除:DELETE FROM tbl_name [WHERE where_conditon];
3、若不添加WHERE则删除【全部记录】
删除后再插入,插入的id号从最大的往上加,而不是填补删除的。
查看全部 -
单表更新:
UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={exp1|DEFAULT}[,col_name2=...][WHERE where_condition] 【一般来说要用WHERE指定位置,不然所有数据都会被更新】
例:
不指定位置:UPDATE users set age = age + 5,sex = 0; 使表里所有记录的age加5
指定位置: UPDATE users set age = age+ + 10 WHERE id % 2=0; 取id为偶数的位置
update更新数据
update <表名>
set <列名>=<表达式>,[,<列名>=<表达式>]...
[where <条件>];
查看全部 -
前面说的insert [column_name]values(...)[,(...),(....)];的方法比较常用,可以一次性插入多条记录,并且可以输入表达式甚至是函数
但是无法进行子查询
insert tb_name set column_name={expr|default}的方法是可以进行子查询,但是只能插入一条记录
第三种insert方法 insert table_name [(colname...)] select.....
这种方法就是把查询到的结果插入到指定数据表中
查看全部 -
1、INSERT 插入记录
语法1:INSERT [INTO] 表名 [(列名1,列名2,...)] VALUES(列值1,列值2,...),(...),...;
对于自动编号的字段,插入“NULL”或“DEFAULT”系统将自动依次递增编号;
对于有默认约束的字段,可以插入“DEFAULT”表示使用默认值;
列值可传入数值、表达式或函数,如密码可以用md5()函数进行加密(如md5('123'));
可同时插入多条记录,多条记录括号间用逗号“,”隔开
语法2:INSERT [INTO] 表名 SET 列名1=列值1, 列名2=列值2,...;
这种方法一次只能插入一条记录;列值中有自动编号、默认值或Boolean类型均可以不赋值(使用子查询)
语法3:INSERT [INTO] 表名(列名1,...) SELECT 列名1,... FROM 表名 [GROUP BY/HAVING/ORDER BY/LIMIT...];
一般用于将其他表的数据插入到指定表,注意对应
2、单表更新 UPDATE
UPDATE 表名 SET 列名1=列值1 [,列名2=列值2, ...] [WHERE 条件];(如条件为 列名=列值 修改某一字段的值)
省略条件则更新所有记录该列的值
3、单表删除 DELETE
DELETE FROM 表名 [WHERE 条件];
省略条件则默认删除该表所有记录(仅删除所有记录,不删除数据表);
插入自动编号的字段时,号数为已有的最大号数+1,即使中间有空号数也是如此(如12356,插入记录后为123567)
查看全部 -
1.修改列定义:数据列的名字上没有问题,但是数据类型上可能有问题,或位置上有问题;列定义没错,则照抄,修改位置即可
ALTER TABLE tb1_name MODIFY [COLUMN] col_name column_definition [FRIST | AFTER col_name]
(以上修改包括列定义或列位置)
2.修改列名称:其功能大于上面的MODIFY
ALTER TABLE tb1_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST | AFTER col_name]
3.修改数据表的名字:
ALTER TABLE tb1_name RENAME [TO| AS] new_tb1_name
RENAME TABLE tb1_name TO new_tb1_name [,tb1_name2 TO new_tb1_name2] ... (这个方法可为多个数据表更改名称)
注意:不建议随便更改数据列的名字或着数据表的名字,以免影响数据表的引用。
查看全部 -
1.修改列定义:数据列的名字上没有问题,但是数据类型上可能有问题,或位置上有问题;列定义没错,则照抄,修改位置即可
ALTER TABLE tb1_name MODIFY [COLUMN] col_name column_definition [FRIST | AFTER col_name]
(以上修改包括列定义或列位置)
2.修改列名称:其功能大于上面的MODIFY
ALTER TABLE tb1_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST | AFTER col_name]
3.修改数据表的名字:
ALTER TABLE tb1_name RENAME [TO| AS] new_tb1_name
RENAME TABLE tb1_name TO new_tb1_name [,tb1_name2 TO new_tb1_name2] ... (这个方法可为多个数据表更改名称)
注意:不建议随便更改数据列的名字或着数据表的名字,以免影响数据表的引用。
查看全部
举报