MYSQL常用命令的使用—增删查改

select命令

SELECT [DISTINCT] [TOP n] select_list
[INTO new_table_name]
FROM table_list
[WHERE search_conditions]
[GROUP BY [ALL] group_by_list]
[HAVING search_conditions]
[ORDER BY order_list [ASC | DESC] ]

  1. 查询student表中全部数据
	SELECT *FROM student;
  1. select_list
    查询student表中确定列数据,id、name、numid列全部数据
	SELECT id,NAME,numid FROM student;
  1. order by …[ASC/DESC]
    查询student表中数据,并按某一列数据升降序列排序
	SELECT id,NAME,numid FROM student ORDER BY numid; #按numid升序排列 ASC 默认升序
	SELECT id,NAME,numid FROM student ORDER BY numid DESC; #按numid降序排列
  1. union
    使用union时,只能对最后结果排序。UNION 运算符使您得以将两个或多个 SELECT 语句的结果组合成一个结果集
	SELECT * FROM student WHERE numid LIKE '2019%' AND num like '44%' GROUP BY id UNION SELECT * FROM student WHERE money>40 ORDER BY money; #组合两个筛选结果,删除重复行
  1. GROUP BY 子句和 ALL 关键字
    只有在 SELECT 语句还包括 WHERE 子句时,ALL 关键字才有意义。

  2. DISTINCT
    DISTINCT 关键字可从结果集中除去重复的行

	SELECT DISTINCT numid FROM student;
  1. INTO new_table_name
    新旧表的创建、复制
	SELECT * INTO new_student FROM student;
	
	CREATE TABLE new1_student SELECT * FROM student; #新表不存在 既复制表结构,也复制表内容;new_table中没有了old_table中的primary key,Extra,auto_increment等属性
	
	CREATE table new2_student LIKE student; #数据记录为空
	
	insert into new2_student select * from student; #需新表存在 复制旧表数据到新表 不复制表结构,只复制表内容
	
	create table new3_student as select * from student where 1=2; #数据记录为空 只复制表结构,不复制表内容
  1. WHERE 子句筛选
    Between …and …
    通配符:%、_、[]、[^]
	SELECT * FROM student where numid BETWEEN '2019082408' and '2019082450';#
	#字符串变量需要用单引号,数字和布尔型变量不需要单引号,日期需要用#。
	#替换变量:要加双引号,双引号中间需要有连接符& & ,注意所有的连接符前后需要有空格。

	SELECT * FROM student WHERE numid LIKE '20190824%';
	SELECT * FROM student WHERE numid NOT LIKE '20190824__';
	SELECT * FROM student WHERE num LIKE '44%';#
	#SELECT * FROM PERSON WHERE Name LIKE '[TJL]%' #从 "Person" 表中找出名字首字母为“T,J,L”的人
	#SELECT * FROM PERSON WHERE Address LIKE '[^H]%' #从 "Person" 表中找出住址开头字母不是“H”的人
  1. HAVING 子句选择行
	SELECT * FROM student WHERE numid LIKE '2019%' OR num like '4%' GROUP BY id HAVING money>40;

delete命令

DELETE table_or_view
[FROM table_sources ]
[WHERE search_condition ]

  1. 删除全部行
    删除new1_student所有数据,
	DELETE FROM new1_student;
  1. 删除某一行
	#删除num=447的那一行全部数据
	DELETE FROM new1_student where num=447;

update命令

update table_name set 列=表达式
[FROM table_sources]
[WHERE search_condition]

	#修改name=“丽丽”的那一行的num为440
	UPDATE new1_student SET num=440 WHERE NAME='丽丽';

insert命令(表必须存在)

使用 INSERT…Values 增加一行或多行数据

	#新增两行new1_student数据
	INSERT INTO new1_student(id,name,numid,num,money,DATE) VALUES(0,'lili',2019082425,442,58,'2021-05-08'),(0,'linda',2019082457,448,58,'2021-07-08');

猜你喜欢

转载自blog.csdn.net/m0_72084056/article/details/125876778
今日推荐