SQL语句

创建一个数据库:
create database+数据库名;

使用数据库:
use+数据库名;

查看mySQL中有哪些数据库:
show databases;

删除数据库
drop database + 数据库名;

创建表:
create table + 表名(列名+类型,….,);

查看表:
show tables;

查看表是如何创建的:
show create table +表名;

添加数据:
insert into + 表名 (列名,列名,…,列名) values(列名对应值);或
Insert into student values(直接按照建表时列名的顺序写);

查询表的内容:
select * from + 表名;

  • 主键约束(primary key)

    • 被标记为主键的列,数据不能重复
    • 原则上一个表只能有一列被标记为主键
  • 自增约束(auto_increment)
    • 将该列设置为自增字段(相对于上一行+1),一般和主键放在一起设置
  • 非空约束(not null)
    • 被标记的列不能为空
  • 唯一约束(unique)
    • 被标记的列值不能重复 可以标记多行

增删改 这三个sql语句被称为DML(数据操作语句)
insert update delete
DDL: 数据定义语句
create drop alter
DQL:数据查询语句
select
DCL:数据控制语句
commit rollback


练习

select * from student;

create table if not exists teacher(
tid integer primary key auto_increment, //想自增必须是主键
name varchar(10) not null unique ,
address varchar(200),
gender varchar(5)
);

  • insert 添加数据

insert into teacher
(name, address, gender)
values ('张三','大连','男');

insert into teacher
(name, address, gender)
values ('李四','大连','男'),
('王五','沈阳','女');

insert into teacher
values (null ,'赵六','大连','男');

更新数据

update teacher
set address = '北京'
where name = '赵六';

update teacher
set address = '天津',
gender = '女'
where name = '赵六' and address = '北京';
where name = '赵六' or address = '北京';

删除

delete from teacher
where name = '赵六';

查询

select *
from teacher;

结果只显示个别几列
select name,address
from teacher;

后面可以跟where子句
select name,gender
from teacher where tid > 2;

select * from teacher
where tid > 1 and gender = '女';

select *
from teacher
where tid > 2 or gender = '男';

where后面可以加order by排序
order by 列名 [排序方式]
select *
from teacher
where tid > 2 or gender = '男'
order by tid desc ;

limit+要显示的数量
limit 从第几行开始,显示多少行
select *
from teacher
where tid > 2 or gender = '男'
order by tid desc
limit 2,1;

create table Score
(sname varchar(20),cname varchar(50),grade int);

insert into Score
(sname, cname, grade)
values ('张三','语文',90),
('张三','数学',80),
('张三','英语',70),
('李四','语文',60),
('李四','数学',66),
('李四','英语',80),
('王五','语文',70),
('王五','物理',60);

update Score
set grade = 95
where cname = '语文' and sname = '张三';

select *
from Score
where sname = '李四';

delete from Score
where sname = '王五' and cname = '物理';

select sname,cname
from Score
where grade > 90;

select sname
from score
where grade < 60 and cname = '语文';

select grade
from score
where cname = '数学'
order by grade desc;

select sname,grade
from score
where cname = '英语'
order by grade desc
limit 5;

create table Employee
(eid int primary key auto_increment,
name varchar(20),
age int,
salary int,
depart varchar(50),
workage int);

insert into Employee
values (null,'张三',30,11000,'研发部',3),
(null,'李四',29,12000,'开发部',2),
(null,'王五',31,13000,'市场部',1),
(null,'赵六',28,14000,'人事部',1),
(null,'王七',32,15000,'研发部',5),
(null,'张八',27,9900,'开发部',4),
(null,'李九',33,9800,'市场部',3);

select *
from Employee;

update Employee
set salary = 20000
where eid = 2;

insert into Employee
values (null,'张三',30,11000,'研发部',3),
(null,'李四',29,12000,'开发部',2),
(null,'王五',31,13000,'市场部',1),
(null,'赵六',28,14000,'人事部',1),
(null,'王七',32,15000,'研发部',5),
(null,'张八',27,9900,'开发部',4),
(null,'李九',33,9800,'市场部',3);

select *
from Employee
limit 10,5

select name,salary
from Employee
where workage >= 5;

select *
from Employee
where eid > 10
order by age desc

select depart,salary
from Employee
where salary = (select max(salary) from Employee)

max组函数报错‘’In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column 'j0302.Employee.depart'; this is incompatible with sql_mode=only_full_group_by‘’
的解决方法:

先执行
select version(), @@sql_mode;z
再执行
SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

2019.3.22 SQL语句(基础篇)的更多相关文章

  1. 2019.3.25 SQL语句(进阶篇1)

    运算符 基本的加减乘除取余都可以在SQL中使用 新建Employee1表并添加数据 create table Employee1 (eid int primary key auto_increment ...

  2. MySQL-第二篇SQL语句基础(1)语句分类及DDL语句

    1.什么是SQL语句 SQL是Structed Query Language的缩写,即结构化查询语言.SQL是操作和检索数据库的标准语言,标准的SQL语句可以操作任何关系数据库. 2.标准的SQL语句 ...

  3. SQL——语法基础篇(上)

    用数据库的方式思考SQL是如何执行的 虽然 SQL 是声明式语言,我们可以像使用英语一样使用它,不过在 RDBMS(关系型数据库管理系统)中,SQL 的实现方式还是有差别的.今天我们就从数据库的角度来 ...

  4. oracle(sql)基础篇系列(五)——PLSQL、游标、存储过程、触发器

      PL/SQL PL/SQL 简介 每一种数据库都有这样的一种语言,PL/SQL 是在Oracle里面的一种编程语言,在Oracle内部使用的编程语言.我们知道SQL语言是没有分支和循环的,而PL语 ...

  5. 精妙SQL语句 基础

    精妙SQL语句SQL语句先前写的时候,很容易把一些特殊的用法忘记,我特此整理了一下SQL语句操作,方便自己写SQL时方便一点,想贴上来,一起看看,同时希望大家能共同多多提意见,也给我留一些更好的佳句, ...

  6. oracle(sql)基础篇系列(五)——PLSQL、游标、存储过程、触发器

    PL/SQL PL/SQL 简介 每一种数据库都有这样的一种语言,PL/SQL 是在Oracle里面的一种编程语言,在Oracle内部使用的编程语言.我们知道SQL语言是没有分支和循环的,而PL语言是 ...

  7. SQL语句基础之 单表查找

    Sql语句之 单表查询 一.一般查询 1.查看表中的所有记录 以及 所有字段(属性) 语句 : select * from student; 2.只查看某些字段 语句:select sname,sex ...

  8. SQL语句基础之 管理数据库,表 和 数据

    MySQL中的基本sql语句 MySQL中主要有三个大的对象,第一个是数据库,有了数据库后,我们才能在数据库里面建表,因为Mysql是关系数据库,它的数据都会以记录的形式存到表里,所以第二个是表,然后 ...

  9. sql优化基础篇

    优化的步骤: 0.先sql运行看看是否真的很慢,注意设置SQL_NO_CACHE 1.where条件单表查,锁定最小返回记录表.这句话的意思是把查询语句的where都应用到表中返回的记录数最小的表开始 ...

随机推荐

  1. 编写高质量代码改善C#程序的157个建议——建议1:正确操作字符串

    最近拜读了陆敏技老师的<编写高质量代码改善C#程序的157个建议>,感觉不错,决定把笔记整理一遍. 建议1: 正确操作字符串 字符串应该是所有编程语言中使用最频繁的一种基础数据类型.如果使 ...

  2. java 七牛上传图片到服务器(采用的html5 压缩 传输base64方式)

    //html 页面如下<div class="form-group"> <label class="col-sm-2 control-label&quo ...

  3. Android ViewPager + Fragment的布局

    ViewPager And Fragment 1.之前有篇博客是讲ViewPager的用法的:http://www.cnblogs.com/liangstudyhome/p/3773156.html ...

  4. Java简单实现AOP,Java通用异常拦截,Java与Lamada

    直接看代码不废话.不懂Lamada直接百度... package test; /** * QQ:1448376744 * @author 花间岛 * */ //控制器 public class Con ...

  5. Partial关键字

    Partial关键词定义的类可以在多个地方被定义,最后编译的时候会被当作一个类来处理. 首先看一段在C#中经常出现的代码,界面和后台分离,但是类名相同. public partial class Fo ...

  6. 有符号数和无符号数------c++程序设计原理与实践(进阶篇)

    有符号数与无符号数的程序设计原则: 当需要表示数值时,使用有符号数(如 int). 当需要表示位集合时,使用无符号数(如unsigned int). 有符号数和无符号数混合运算有可能会带来灾难性的后果 ...

  7. 手动给kvm虚机挂载lvm卷

    1.查看计算节点上虚机挂载的卷 [root@xgto01n010243186070 ~]# virsh domblklist instance- Target Source ------------- ...

  8. WCF进阶(一)——概述

    前言 时间的朋友>里面几句特别有预见性的话来说明当今儿世界互联网发展趋势: 市场上有一种叫做"父爱算法"的需求.将会诞生很多伟大的公司.背后的精神就是六个字:你不用懂,听我的 ...

  9. 局域网内搭建一个服务器,可以使用 https 吗

    https://www.v2ex.com/t/472394 这是一个创建于 126 天前的主题,其中的信息可能已经有所发展或是发生改变. 局域网内通过嵌入式设备搭建一个轻量级 web 服务,可以仍然使 ...

  10. flink学习笔记-flink实战

    说明:本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKh ...