mysql数据库操作(1)

2.mysql 数据库的恢复

例如:求班级最高分和最低分

 注意:a.sum仅对数值起作用,否则会报错。

其语法格式如下:

备注:1)执行备份是在系统条件下,而非 mysql 状态下。

③ ,... :指可以有多于一个的分类表达式,并且每一个表达式都可以为升序或降序。

例如:对 user 表中的图书价格进行降序排序输出

 备注 :

 参数说明:

③expression:是常量、列或函数,或者是算术、按位与字符串等运算符的任意组合。如果 expression 是精确数字或近似数字数据类型分类(bit数据类型除外)的表达式,则不允许使用聚集函数和子查询。

order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。

alter table 表名

 查询 tb 表中的最后的3条记录。

1.mysql 数据库提供了 LIMIT 子句,在SQL Server数据库提供了相应的 TOP n ,两者需要区别开来。

1.mysql 数据库备份:

select count(*) from tt_table where (math+english+chinese)>250;

6.将数据表清空-----DELETE 语句与TRUNCATE TABLE 语句

③expression:该参数为表达式,其类型可以是除 uniqueidentifier、text、image 或 ntext 之外的任何类型。

 9.聚集函数 MIN/MAX 求数据表中的最小/最大值

11.在where子句中经常被使用的运算符
1) >大于  <小于  <=小于等于   >=大于等于   =等于   <>不等于
2)  between...and ...    显示在某以区间的值
3)  in(set)           显示在in列表中的值,定点查询。例in(100,200)即为显示查询列表中含有100和200这两个值的结果集。
4)  like              模糊查询("%" 和 "_")
5)  is null           判断是否为空
6)  and            多个条件同时成立
7)  or            多个条件任一成立
8) not            不成立
注意1:不等于运算符跟其它语言有点不一样,需要注意一下。
注意2:like语句中,"%"代表零个或多个任意字符,"_"代表一个字符。
例如:
查询英语分数在80--90之间的同学:

 其中:USER 是用户名,PASS 是密码,DataBase 是数据库名, Path 是备份文件存储的位置。

8.聚集函数 AVG 实现计算平均值

 ①ALL:若没有该参数,SQL 将对所有的值进行聚集函数运算。ALL 是默认值。

           b.对多列求和,逗号不能少。

①expression:一个表达式,通常是一个输出时用来分类的字段。

 例如:

 select  *   from tt_table where name like '李%';

 

2.columnValue:要添加到数据表中的数据。

mysql 数据库中提供了 LIMIT 子句来限制 select 语句返回的行数。如果查询数据的 SQL 语句中包含 GROUP BY 与 ORDER BY 子句,则 LIMIT 子句放在 GROUP  BY 子句与 ORDER BY 子句的后面。语法如下:

select 命令的标准格式如下:

 备注:

DELETE FROM 表名称 WHERE 列名称 = 值

 我们使用常规的 insert into 插入语句如下:

 例如:

TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同,二者均删除表中的全部行;但 TRUNCATE TABLE 比 DELETE 速度快,而且使用的系统和事物日志资源少。

    UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson' ;

 

②DISTINCT:指定 SUM 返回唯一值的和。

 

③expression:该参数为表达式,由常量、列名、函数以及算术运算符、按位运算符和字符串运算符任意组合而成。

 2)对表中数据的更改,使用 update 语句。

INSERT  tableName  SELECT columnValue,... UNION  ALL SELECT columnValue,......

3.实现跨数据库表的内容的复制

select avg(chinese) from tt_table;

具体语法:

 1.tableName:要添加数据的数据表。

 统计一个班级语文成绩平均分:

select man(chinese+english+maht),min(chinese+english+maht) from tt_table;
mysql> insert user select '1','jim' union all select '2','kill' union all select '3','bill';

一般如:

 统计总分大于250的人数有多少?

      c.在统计过程中,null 值将被忽略。

      2)要保证表中字段的数据类型的一致性,否则会导致出入数据的错误。

 

 5.更新数据库中的表---其中包括:对表本身结构的更改与对表中数据的更改

group by 从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。

TRUNCATE TABLE 数据表名

语法:

②DISTINCT:指定 AVG 操作只能使用每个值的唯一实例,而不管该值出现多少次。

select * from tb limit 0,3;
a.追加语法:alter table 表名 
add (column datatype,column datatype,...);
例如:alter table tt_table add image blob; //在tt_table表中添加一个image列用来保存大头照 

b.修改语法:alter table 表名 modify (column datatype,column datatype,...);
例如:alter table tt_table modify job varchar(60);//修改tt_table表的job列,使其长度为60 

c.删除语法:alter table 表名 drop (column);
例如:alter table tt_table drop job; //删除tt_table表中的job列  

d,修改表名:rename table 表名 to 新表名;
例如:rename table tt_table to tt;//修改tt_table表的表名为tt  

e.将tt_table表的字符集修改为utf8
alter table tt_table character set utf8;

f.将tt_table原表中的列名food 属性为varchar(20)修改为sale_food 属性为varchar(40)
alter table tt_table change column food sale_food varchar(40);

sum函数具体语法:

 

1)DELETE 语句

①ALL:对所有的值进行聚集函数运算。ALL 是默认值。

 

DELETE 语句每次删除一行,并在事务日志中为所删除的每一行做一项记录;

②DISTINCT:指定每个唯一值都被考虑。DISTINCT对MIN、MAX无意义。

 7.聚集函数 SUM 实现数据汇总

 

MIN|MAX ([ALL|DISTINCT]  expression)

ORDER BY 子句的作用是分类输出,并且根据表中包含的一列或多列表达式将输出的值按升序或降序排列。他不改变数据库中行的顺序,只是简单的改变查询输出的值的显示顺序。

 2)TRUNCATE TABLE 语句

////end

②row:指定返回行的最大数目。

②[ASC|DESC]:可选项,代表升序或降序。

例1:我们为 lastname 是 "Wilson" 的人添加 firstname

如实现将 db_database3 数据库中的 user 表复制到 database4 中的 user 表,在实现数据库表的内容复制时,需要在每个数据库表前要加上数据库的名称。

是用 UNION ALL 语句实现批处理,其语法如下:

 这样的运行结果就是以“单位名称”为分类标志统计各单位的职工人数和工资总额。

 其中:USER 是用户名,PASS 是密码,DataBase 是数据库名, Path 是数据库备份存储的位置。

 参数说明:

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
 select name from tt_table where math in(89,90,91);

2.LIMIT 子句的参数中,第一个参数是可选参数。如果值给定一个参数,则代表偏移量为0的返回行的最大数目。例如,表达式 limit(3)与表达式 limit(0,3)是等价的。

12.对数据进行排序查询---使用 ORDER BY 子句与 DESC|ASC 关键字

DELETE FROM table_name

1)对表本身结构的更改,使用 alter 语句。

例如:

DELETE * FROM table_name
mysql>  insert into user values('1','tom');
Query OK, 1 row affected (0.06 sec)

mysql>  insert into user values('2','kill');
Query OK, 1 row affected (0.09 sec)

mysql>  insert into user values('3','bill');
Query OK, 1 row affected (0.09 sec)
SELECT [DISTIN | UNIQUE] (*,columname[AS alias], ...) FROM table WHERE ... ORDER BY ... LIMIT([offset] , rows);

 例2:我们会修改地址(address),并添加城市名称(city):

select * from tb  order by id desc limit 0, 3;
select count(name) from tt_table;

 注意:count统计只有有值才计数。若统计的name列上有一个为null的值,则该行不计入count的计数结果之中。

③expression:是常量、列或函数,或者是算术、按位与字符串等运算符的任意组合。如果 expression 是精确数字或近似数字数据类型分类(bit数据类型除外)的表达式,则不允许使用聚集函数和子查询。

   2)请使用正确的文件地址,在文件地址中要使用双斜杠 “\” 来代替单斜杠 “”。

select * from user  order by price desc;

 查询数学分数为89,90,91的同学:

3.如果查询数据的 SQL 语句中包含 GROUP BY 与 ORDER BY 子句,则 LIMIT 子句一定要放在 GROUP  BY 子句与 ORDER BY 子句的后面。

 

    UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson';

 例1:删除lastname为wilson的行:

什么是“聚合函数”?
像sum()、count()、avg()等都是“聚合函数”
使用group by 的目的就是要将数据分类汇总。

mysql -uUSER -pPASS  DataBase < Path

SUM 函数只能用于数据类型是 int ,smallint,decimal,numeric,float,real,money 和 smallmoney的字段。

 

 查询英语分数在80--90之间的同学:

14.mysql 数据库中使用 LIMIT 子句来限制语句返回的行数

从 tb 表中查询最开始的3条记录。

AVG ([ALL|DISTINCT]  expression)

 

 insert into db_database4.user(column1,column2) select column1,column2 from db_database3.user;

例如:统计一个班级共有多少学生:

select name,sum(total) sum from tb group by name order by sum asc;

 备注:1)仍然需要你自己在 db_database4 中建立一个与 db_database3 结构一样的 user 表;

例如:求一个班级的平均分

 

语法:

select name from tt_table where english>80 and english<90;

 

  1. group by 与 order by 之区别?
SELECT ... WHERE ... ORDER BY expression [ASC|DESC],...

例如:统计一个班级语文,数学,英语各科的总成绩:

select sum(chinese)/count(*) from tt_table;

 

select count(*) from tt_table;//这种分页的时候用得比较多

④ * :指定应该计算所有行以返回表中行的总数。COUNT(*) 不需要任何参数,而且不能与 DISTINCT 一起使用。COUNT(*) 返回指定表中的行的数量而不消除副本,对每行分别进行计数,包括含有空值的行。

例如:往一个 user 表中一次插入多条数据:其中表结构如下:

在sql命令格式使用的先后顺序上,group by 先于 order by。

 或者:

语法:

 查询所有姓“李”的学生成绩:   

 或者

备注:alter的修改只涉及表结构方面,而不能对其中保存的数据进行修改!掌握这点可以混淆使用 alter 和 update 。

TRUNCATE TABLE 语法:

金沙官网线上, 而若使用 union all 语句如下:

 SELECT select_list   [ INTO new_table ]   FROM table_source  [ WHERE search_condition ] 
  [ GROUP BY group_by_expression ]   [ HAVING search_condition ]

①ALL:对所有的值进行聚集函数运算。ALL 是默认值。

select 单位名称,count(职工id),sum(职工工资) form [某表] group by 单位名称

DELETE 语句用于删除表中的行。
语法:

 

TRUNCATE TABLE 则通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放,减少了日志空间的额占用。

4.使用 UNION ALL 语句批量插入数据

COUNT({[ALL|DISTINCT] expression} | * )

语法:

SUM ([ALL|DISTINCT]  expression)
select sum(math),sum(chiense),sum(english) from tt_table ;

 

select name from tt_table where english between 80 and 90;
MYSQLDUMP -uUSER -pPASS  DataBase > Path

 备注:我们常用的 insert into 语句每次只能实现插入一条语句,这样重复输入往往不方便,这个时候可以选择使用union all 来替代。

①offset:指定要返回的第一行的偏移量。开始行的偏移量是0;

具体语法如:

COUNT 函数是唯一允许使用通配符作为参数的聚集函数。

+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | varchar(20) | YES  |     | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+

 

 10.聚集函数 COUNT 返回表达式中值的个数

DELETE FROM Person WHERE LastName = 'Wilson'

 

②DISTINCT:指定每个唯一值都被考虑。

语法:

 例2:删除所有行,可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:

AVG函数具体语法:

 ①ALL:对所有的值进行聚集函数运算。ALL 是默认值。

本文由金沙官网线上发布于数据库,转载请注明出处:mysql数据库操作(1)

您可能还会对下面的文章感兴趣: