当前位置: 首页 > news >正文

复习MySQL

表相关操作

创建表
CREATE TABLE [IF NOT EXISTS] table_name (`runoob_id` INT UNSIGNED AUTO_INCREMENT COMMENT '自增主键ID', `runoob_title` VARCHAR(100) NOT NULL COMMENT '文章标题(非空)',`runoob_author` VARCHAR(40) NOT NULL COMMENT '作者(非空)',`submission_date` DATE DEFAULT NULL COMMENT '提交日期(允许空)',-- 统一指定主键(若单个主键,也可在 `runoob_id` 后直接加 PRIMARY KEY)PRIMARY KEY (`runoob_id`)
) ENGINE=InnoDB 
DEFAULT CHARSET=utf8mb4 
COLLATE=utf8mb4_general_ci 
COMMENT='文章信息表'; -- 表的备注
查看表结构
desc table table_name;
删除表
-- 表结构也会删除
drop table [IF EXISTS] table_name;
-- 保留表结构, 只删除数据
truncate TABLE table_name;
插入数据
insert into table_name (column1, column2, column3, ...)
values (value1, value2, value3, ...);

如果要在每一列列插入数据,可以省略列名:

insert into table_name
values (value1,value1, value3, ...);
查询
select [distinct] column1, column2, ...       -- distinct 去重  
from table_name                             [join table2 on table_name.column = table2.column]     -- 内连接(取两表中匹配的记录)  [left join table3 on table_name.column = table3.column] -- 左连接(取左表全部+右表匹配记录)  where condition                            -- 过滤条件(分组前过滤)  
group by column_name(s)                    -- 按字段分组(通常和聚合函数一起用) 
having condition                           -- 分组后过滤(作用于聚合结果)  
order by column_name [asc | desc]          -- asc 升序(默认),desc 降序  
limit [offset,] row_count;                 -- 限制返回的行数,可带偏移量(分页)
更新
update customers  
set total_purchases = (  select sum(amount)  from orders  where orders.customer_id = customers.customer_id  
)  
where customer_type = 'premium';
alter

添加列

alter table table_name 
add column column_name datatype;

修改数据类型:

alter table table_name  
modify column column_name new_datatype;

修改列名:

alter table table_name  
change column old_column_name new_column_name datatype;

删除列:

alter table table_name  
drop column column_name;

添加主键:

alter table table_name  
add primary key (column_name);
通配符
  1. 百分号 %:匹配零个或多个字符。比如 ‘a%’ 匹配以字母 ‘a’ 开头的任何字符串。

  2. 下划线_ :表示一个字符

连接

INNER JOIN(内连接/等值连接)

返回两个表中满足连接条件的匹配记录(即两表的交集)。

  SELECT 列名 FROM1 INNER JOIN2 ON1.关联列 =2.关联列;

INNER可省略

LEFT JOIN(左连接)

返回左表的所有记录,以及右表中与左表匹配的记录;若右表无匹配,显示NULL

  SELECT 列名 FROM 左表 LEFT JOIN 右表 ON 左表.关联列 = 右表.关联列;
RIGHT JOIN(右连接)

返回右表的所有记录,以及左表中与右表匹配的记录;若左表无匹配,显示NULL

  SELECT 列名 FROM 左表 RIGHT JOIN 右表 ON 左表.关联列 = 右表.关联列;

数据库相关操作

注意 sql 结尾有分号

切换数据库:

use database;  

列出所选数据库中所有表:

show tables;

创建数据库:

create database [if not exists] database_name[character set charset_name] -- 字符集[collate collation_name];   -- 排序规则

删除数据库:

drop database database_name; -- 直接删除数据库,不检查是否存在 或 
drop database [if exists] database_name;

NULL值

NULL 表示缺失或未知,不等于空字符串(“”)或0,不代表任何具体值

普通的 =!= 对NULL无效,需使用以下运算符:

  1. IS NULL:当列值为NULL时返回true
    例:SELECT * FROM 表 WHERE 列 IS NULL;

  2. IS NOT NULL:当列值不为NULL时返回true
    例:SELECT * FROM 表 WHERE 列 IS NOT NULL;

  3. <=>:特殊比较运算符,当两值相等或都为NULL时返回true
    例:SELECT * FROM 表 WHERE 列 <=> NULL;(等价于IS NULL

http://www.dtcms.com/a/513326.html

相关文章:

  • 包头网站开发建设电商设计灵感网站
  • 临沂百度网站互联网建站公司
  • 流行的企业网站推广现在注册公司好注册吗
  • 做漂亮的网站dede能建立手机网站吗
  • 文山 网站建设 滇icp网站建设报价单及项目收费明细表
  • wordpress 合并js网站优化方案书
  • .net购物网站开发龙岗做网站公司icxun
  • 一个网站多少钱?清华大学精品课程网站
  • 亚马逊网站联盟gif制作软件app
  • 新加坡房产网站大全天津建设合同怎么在网站录入
  • mysql和tbase语法转换(已亲测)
  • 高端设计网站都有哪些自助设计网站
  • 专业建站公司设计方案无锡网站制作咨询
  • 网站开发的大学生应届简历手机短视频网站的建设
  • 数据结构——广度优先搜索
  • 网站建设教程 作业黄冈黄页
  • 潍城区住房和城乡建设局网站网站怎么做中英文交互
  • 厨房电子秤方案:厨房秤常规的功能有那些?
  • 旅游景点网站模板大全哪家网站开发培训好
  • FontBook for mac字体管理工具
  • 网站聚合页面芙蓉区建设局网站
  • 美容店网站建设网站做海康直播
  • 网站如何做留言板mxd 主题Wordpress
  • 为什么里程碑设置不清晰会拖慢进度
  • 搭建影视网站wordpress修改登陆界面
  • php做企业网站需要多久模仿别人网站
  • 丰和园林建设集团网站wordpress模板结构
  • 推广网站建设做外贸一般看什么网站
  • 网站建站六个目标ip网站查询服务器
  • 【Java全栈项目定制开发】承接各类程序编写与系统开发任务