mysql技巧 -- 基本操作(进阶)

1、子查询(嵌套在其他查询中的查询)

注意:嵌套的语句经常使用在where 或者 from 中的字句,多值时用in和not in

 

(1)where子查询:select col1 from table1 where col2 = (select col3 from table2)

(2)from子查询:select col1 from (select * from table)

①查询所有课程的平均分,并筛选出其中平均分大于70分的课程

②查询语文分数大于语文平均分的学生学号和分数

③查询所有课程成绩小于60分的学生学号和姓名

 

2、表连接

      

 

(1)select * from table1 as t1 inner join table2 as t2 on a.key = b.key

(2)select * from a,b where a.key = b.key (inner join)

 

 

3、组合查询(将多个查询结果通过union进行组合)

union规则:

-- 必须由两条或两条以上的select语句组成,语句之间用union分离

-- union中的每个查询都必须包含相同的列、表达式或聚集函数

-- 列数据类型必须兼容

union 会自动对数据进行去重,若不需要请使用union all

order by只能用于最后一条select语句

 

 

4、创建表 

(1)create table table_name ( col1  data_type(size) , col2 data_type(size ….)

-- data_type数据类型,size列的最大长度

-- 使用null, not null

   是否允许空缺值

-- 主键

   表中的一列或者多列可以成为主键,这些值或者组合必须唯一

   PRIMARY KEY(col),主键不允许有NULL值

-- 指定默认值

    关键字DEFAULT可以对列进行默认值设

  • If not  exists
  • Create table  table_name as (select … from …

 

 (2)通过检索数据去创建表

 

5、更新表 / 删除表

(1)alter table 用来更新表结构,但是强烈建议在创建表的时候就仔细考虑表结构,不要轻易变动

         alter table table_name add column char(20)

         drop column

(2)drop table 删除表 慎用,这个没有撤销功能

 

 

 6、数据修改

(1)insert 是用来插入行到数据库中,插入可以使用三种方式:

① insert into table values (value1,value2….)

② insert into table (col1,col2,col3) values (value1,value2….)

③ insert into table_name (select … from …)

(2)update用来更新表中的数据,一定要仔细,不要省略where字句

    语法:update table_name set col1 =value1,col2 = value2,… where key_col =some_value()主键)

(3)delete用于从表中删除特定的行或者从表中删除所有行,一定要仔细,不要省略where字句

    语法:delete from table_name where key_col =some_value

(4)注意:

① 绝对不要轻易忽略where字句,否则会更新或删除全部的行

② 在使用where条件前先使用select进行测试,保证正确无误,因为Mysql是没有撤销功能的

 

7、excel数据导入

      使用notepad软件进行格式转换成utf8, csv格式

 

posted @ 2021-01-31 17:29  zolin  阅读(70)  评论(0)    收藏  举报