MySQL常用sql

一、常用操作数据库命令

  1. 查看所有数据库:show database;
  2. 创建一个数据库:create database if not exists 数据库名;
  3. 删除一个数据库;drop database if exists 数据库名;
  4. 选择一张表(注意建表之前要选择数据库):user `表名`;
  5. 在选中数据库之中查看所有的表:show tables;
  6. 查看创建数据库的语句:show create databasse 数据库名;
  7. 查看指定表的定义语句:show create table 表名;
  8. 显示表的结构 :desc 表名;
  9. 删除表 : drop table 表名;
  10. 查看创建库的详细信息 :show create database 库名;
  11. 查看创建表的详细信息 : show create table 表名;

二、建一张表

CREATE TABLE [IF NOT EXISTS] `表名`(
	`字段名` 列类型[属性][索引][注释],
	`字段名` 列类型[属性][索引][注释],
	`字段名` 列类型[属性][索引][注释] (最后一句可以不要逗号)
)[表类型][表的字符集设置][注释]

三、DML数据库操作语言

1.增

 语法:insert into 表名 (`字段名1`,`字段名2`,`字段名3`,……)  values (`值1`,`值2`,`值3`, ……)

还可以同时插入多条数据,VALUES后面的值需要使用,隔开即可
语法:

insert into 表名 (`字段名1`,`字段名2`,`字段名3`,……)  values (`值1`,`值2`,`值3`, ……),(`值1`,`值2`,`值3`, ……),……

2.改

 update 表名 set `字段名1` = '值1' ,`字段名2` = '值2' … where [条件]

3.删

 delete from 表名 [where 条件]

作用:完全清空一个数据库,表的结构和索引不会变

delete 和 truncate 区别

相同点: 都能删除数据,都不会删除表结构
不同:

  • TRUNCATE 重新设置自增列 计数器会归零
  • TRUNCATE 不会影响事务

四、DQL查询数据

select语法:

select [ALL|DISTINCT]
{*|table.*|[table.filed1p[as alias1][,table.filed2[as alias2]][],...]}
from table_name [as table_alias]
	[left|right|inner join table_name2] -- 联合查询
	[where ...] -- 指定结果需要满足的条件
	[group by ...] -- 指定结果按照哪几个字段来分组
	[having] -- 过滤分组的记录必须满足吃药条件
	[order by ...] -- 指定查询记录案一个或者多个条件排序
	[LIMIT {[offset,]row_count | row_countOFFSET offset}]; -- 分页

关于left join
left join 保留原表的全部数据和所连接表与查询条件满足的数据。若所连接表没有,则将该字段置为空
关于right join
right join 保留原表中与查询条件满足的数据和所连接表的全部数据,若原表没有,则将该字段置为空
关于inner join
inner join 只保留两个表相同的数据

关于order by

order by 字段名 [desc|asc] desc表示降序,asc表示升序

关于limit 第一个参数表示从第几个元素开始,第二个参数表示这一页有几个元素

关于子查询:
即where 里面嵌套查询语句。

posted @ 2022-07-18 10:54  生活的样子就该是那样  阅读(69)  评论(0)    收藏  举报