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格式
浙公网安备 33010602011771号