【数据库】SQL语句(超全查询语句)

您所在的位置:网站首页 sql语句版本 【数据库】SQL语句(超全查询语句)

【数据库】SQL语句(超全查询语句)

2023-06-30 17:05| 来源: 网络整理| 查看: 265

SQL (structured query language)结构化查询语言,可以使用sql去操作oracle,sql server,mysql,sqlite等所有的关系型的数据库。MySQL是一个关系型数据库管理系统,支持多操作系统。 SQL语句 注释快捷键: ctrl + /取消注释快捷键: ctrl + shift + / 1.对表的操作 创建表: create table 表名( 字段名 类型 约束(不是必填选项), 字段名 类型 约束, ... )

例如:

--创建一个学生表 create table `students`( `student_id` unsigned primary key auto increment, --设置主键(唯一标识符,相当于人的身份证号,自动递增) `name` varchar(10) , `age` int unsigned, --无符号整数 `height` decimal(5,2), --小数点后面保留两位,整数为5-2=3位 `sex` varchar(10), `hometown` varchar(10) )

在这里插入图片描述

此问题是 MySql 语法上的错误,在 MySQL 中,为了区分 MySQL 的关键字与普通字符,MySQL 引入了一个反引号。 在上述的 sql 语句中,列名称没有使用反引号或者列名称使用单引号,都会报这个错误出来。 在这里插入图片描述

删除表 --格式一: drop table 表名 --表存在就删除,表不存在就报错 --格式二: drop table if exists 表名  --(表不存在就不删,不会报错,创建表之前一般会填上这条语句) 2.对表中数据进行操作 插入数据 直接插入数据 给所有字段设置数据: insert into 表名 value(…) --在学生表里插入一个学生,设置所有字段的信息 --值必须与表中的字段匹配 insert into student(default,'小明',20,161.2,'男','北京',) 给指定的字段设置数据: inster into 表名(字段名1,字段名2…) values (…) inster into students(name,age) values ('花花',11) 插入多条数据 (1) 写多条插入语句: insert into student(student_id,name,age,height,sex,hometown) values (default,'安琪拉',21,181.2,'女','北京'); --字段名可省略,直接插入 insert into student values (default,'小乔',10,171.2,'女','北京'); insert into student values (default,'亚索',11,163.2,'男','上海')

(2) 一条插入语句插入多个数据

insert into student values (default,'安琪拉',21,181.2),(default,'小乔',10,171.2),(default,'亚索',11,163.2); insert into student(name) values ('花花'),('李明') 修改数据 update 表名 set 字段名=要改的值 where 要改的字段 --改一个字段 update student set name='狄仁杰' where name='花花' ; --改多个字段 update student set name='狄仁杰',age=13 where name='花花' 删除数据 (1)delete from 表名 where … delete删除的数据无法恢复 --删除student_id=6的学生信息 delete from student where studet_id=6

(2)逻辑删除 设置一个isdelete标志,默认值为0 当想删除一条信息时,将isdelete值修改成1

--逻辑删除 --1.设计表,给表添加一个字段iddelete,1代表删除,0代表没有删除 --2.把所有的数据的isdelete都设为0 --3.要删除某一数据时,将该条数据的isdelete改成1(使用update 表名 set isdelete=1 where xx=xx) --4.当要查询数据时,只查询isdelete为0的数据 查询数据 基本查询 select 字段名1,字段名2…from 表名(显示表的列,当字段名部分为*号时,查询所有) select 字段名 as 别名 from 表名(不会改变表中的数据,只是改变查询结果中的字段名)去重查询 select distinct 字段名 from 表名 -- age列去重查询 select distinct age from student -- age,height两列去重查询(两个参数都要相同) select distinct age,height from student 条件查询 select 字段名 from 表名 where 条件(select 用来过滤列,where用来过滤行) --在学生表中查询student_id=1的学生姓名 select name from student where student_id=1 --在学生表中查询年龄小于20的学生 select *from student where age=any(b,c,c) 返回大于等于b,c中 的任意一个



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3