好文档 - 专业文书写作范文服务资料分享网站

mysql笔记之常用命令 - 图文

天下 分享 时间: 加入收藏 我要投稿 点赞

mysql笔记常用命令2020

● 数据库命令:

创建:creata database 数据库名; 查询;show databases; 切换;use 数据库; 删除;drop database 数据库名; 查看表:show tables; 打开表:desc 表名称; 删除表:drop tables 表明; ● sql语句必须加“;”号; ● mysql 数据类型

经常变化的字段用varchar 知道固定长度的用char 尽量用varchar 超过255的字符只能用varchar或者text 能用varchar的地方不用text ● 数值—日期/时间—字符串 ● 创建数据表

表名—字段名—定义字段

● create table table-name (column_name column_type); ● 删除数据表

1、当你不再需要该表时, 用 drop; 2、当你仍要保留该表,但要删除所有记录时, 用 truncate; 3、当你要删除部分记录时, 用 delete。 ● DROP TABLE table_name ● mysql插入数据

● insert into table_name (field1,field2...) values (value1,value2,....) 如果数据是字符型,必须使用单引号或者双引号,如:\。 ● mysql查询数据

select column_name,column_nae FROM table_name [WHRER Clause] [LIMIT N] [OFFSET M] ● 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。

● 你可以使用 WHERE 语句来包含任何条件。 ● 你可以使用 LIMIT 属性来设定返回的记录数。

● 你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。

select * : 返回所有记录 limit N : 返回 N 条记录 offset M : 跳过 M 条记录, 默认 M=0, 单独使用似乎不起作用 limit N,M : 相当于 limit M offset N , 从第 N 条记录开始, 返回 M 条记录 ● mysql whrer子句

● select field1,field2,... from table_name1,table_name2...

whrer condition1 [AND [OR]] condition2... 你可以使用 AND 或者 OR 指定一个或多个条件。

● MySQL 的 WHERE 子句的字符串比较是不区分大小写的。 你可以使用 BINARY 关键字来设定 WHERE 子句的字符串比较是区分大小写的。

select * from tb_name where binary [字段名='大小写']; ● mysql update更新

● update 表名称 set 列名称=新值 where 更新条件;

update table_name set field1=new-value1,field2=new-vlue2 [where clause] 你可以同时更新一个或多个字段。 你可以在 WHERE 子句中指定任何条件。 你可以在一个单独表中同时更新数据。 ● mysql delete语句

● delete from 表名称 [where clause]

如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。 delete,drop,truncate 都有删除表的作用,区别在于: 1、delete 和 truncate 仅仅删除表数据,drop 连表数据和表结构一起删除,打个比方,delete 是单杀,truncate 是团灭,drop 是把电脑摔了。

● delete 语句用于删除表中的数据, 基本用法为: delete from 表名称 where 删除条件; 以下是在表 students 中的实例: 删除 id 为 3 的行: delete from students where id=3; 删除所有年龄小于 21 岁的数据: delete from students where age<20; 删除表中的所有数据: delete from students; ● mysql like 子句

● select field1,field2... from table_name

where field1 like condition1 [and[or]] filed2 = 'somevalue' like 匹配/模糊匹配,会与 % 和 _ 结合使用。 '%a' //以a结尾的数据 'a%' //以a开头的数据 '%a%' //含有a的数据 '_a_' //三位且中间字母是a的 '_a' //两位且结尾字母是a的 'a_' //两位且开头字母是a的 ● mysql 排序

● order by参数(从低到高)

select [字段] from [表名] order by [字段] 例如:SELECT id, name, gender, score FROM students ORDER BY score; ● order by desc(表示倒序)

● 例如:SELECT id, name, gender, score FROM students ORDER BY score DESC; ● 如果排序字段中有相同数据的,可以进步排序,添加字段

● select [字段] from [表名] order by [字段] desc,[字段]

例如:select name,gender,score from students order by score desc, gender;

● 分页查询

● 按score从高到低

select id,name,gender,score from students order by score desc; 把结果集分页,每页3条记录,获取第一页的记录,使用limit 3 offset 0; select id,name,gender,score from students

order by score desc limit 3 offset 0; ● 聚合查询(sum;avg;max;min)

● COUNT()函数

select count(*) from students; ● 聚合查询时,给列名设置一个别名 select count(*) lieming students; ● 聚合查询并设置WHERE条件

select count(*)lieming from students where gender='F'; ● 聚合查询计算男生平均成绩

select avg(score) avgage from students where gender=\ ● 分组(统计班级学生数量)

select class_id,count(*) cls from students group by class_id; ● 统计各班的男生和女生人数:

select class_id,gender, count(*) from students group by class_id,gender;

● 多表查询

● 查询多张表的语法是:SELECT * FROM <表1> <表2> select * from classes,students;

● 多表中的列如有相同,为了便于区分,可以采用投影查询-设置别名

select studens.id sid, studens.name name, students.gender, student.score, classes.id cid, classes.name cname from studens,classes; ● 简洁版

SELECT s.id sid, s.name, s.gender, s.score, c.id cid, c.name cname FROM students s, classes c; ● 多表查询where条件

select s.id,s.name,s.gender,s.score,c.id cid,c.name cname from students s,classes c WHERE s.id=1 and c.id=2; ● 连接查询

● 内连接——INNER JOIN

选出所有学生,同时返回班级名称 select s.id,s.name,s.class_id,c.name class_name,s.gender,s.score from students s inner join classes c on s.class_id =c.id; ● 外连接(OUTER JOIN)

SELECT s.id, s.name, s.class_id, c.name class_name, s.gender, s.score FROM students s RIGHT

OUTER JOIN classes c ON s.class_id = c.id; ● 实用语句

● 插入或替换

如果我们希望插入一条新记录(INSERT),但如果记录已经存在,就先删除原记录,再插入新记录。此时,可以使用REPLACE语句,这样就不必先查询,再决定是否先删除再插入: REPLACE INTO students (id, class_id, name, gender, score) VALUES (1, 1, '小明', 'F', 99); ● 插入或更新

我们希望插入一条新记录(INSERT),但如果记录已经存在,就更新该记录,此时,可以使用INSERT INTO ... ON DUPLICATE KEY UPDATE ...语句: INSERT INTO students (id, class_id, name, gender, score) VALUES (1, 1, '小明', 'F', 99) ON DUPLICATE KEY UPDATE name='小明', gender='F', score=99; ● 插入或忽略

如果我们希望插入一条新记录(INSERT),但如果记录已经存在,就啥事也不干直接忽略,此时,可以使用INSERT IGNORE INTO ...语句: INSERT IGNORE INTO students (id, class_id, name, gender, score) VALUES (1, 1, '小明', 'F', 99);

mysql笔记之常用命令 - 图文

mysql笔记常用命令2020●数据库命令:创建:creatadatabase数据库名;查询;showdatabases;切换;use数据库;删除;dropdatabase数据库名;查看表:showtables;打开表:desc表名称;删除表:droptables表明;●sql语句必须加“;”号;●
推荐度:
点击下载文档文档为doc格式
0fl5w1gy9d4zk8m0hvkq6k2tg1xu6l00s3e
领取福利

微信扫码领取福利

微信扫码分享