mysql基本语法参考千峰资料及朋友的博客

创建数据库

create database 数据库名

查看创建数据库时的基本信息

SHOW CREATE DATABASE 数据库名

查看当前使用的数据库

SELECT DATABASE()

使用数据库

use 数据库名称

MySQL支持多种类型,大致可分为三类:数值、日期/时间、字符串
数值类型
在这里插入图片描述
日期类型
在这里插入图片描述
字符串类型

在这里插入图片描述
数据库表的创建

use 数据库名
create table 表名
(
列名 数据类型 [约束],
列名 数据类型 [约束],
列名 数据类型 [约束] #最后一行;不要逗号
)

约束
完整性和实体性的约束

#主键约束
primary key 标记表中列的数据(唯一企鹅额不重复)
#唯一约束
unique 标记表中的数据不重复,可以为null
#自增长约束
auto——increment() 自动增长,给主键添加自动增长,从1开始没插加1,不能单独使用,要和主键配合使用
#非空约束
not null
#默认约束
default()

表的修改操作

alter table 表名 操作

向现有表中增加列

alter table add 列的选项
向表person中增加sex列
ALTER TABLE person ADD sex  VARCHAR(2)

修改列选项

alter table 表名 modify 列名 修改项
ALTER TABLE person MODIFY NAME VARCHAR(20)

给表重命名

alter table 表名 rename 新表名
#给表person重命名为per
ALTER TABLE person RENAME per 

修改表中的列名

alter table 表名 修改前的名字 修改后的名字 int
#将表per中名为sex的列改为s
ALTER TABLE per CHANGE sex s INT

删除表

drop table 表名

向表中插入值

insert into(列名,列名,列名,...values(,,,...)
#向表per中name为李四,socore为78,sex为男的信息
INSERT INTO per (NAME,socore,s) VALUES("李四",78,"男")

修改表中的信息

update 表名 set 列名 =where 条件
UPDATE per SET s="男" WHERE NAME="小明"

删除表中的信息

delete from 表名 where 条件

查询表中的信息

#按条件查询表中的所有信息
select * from 表名 where 条件
#按条件查询表中的部分信息,并对其去别名
select 列名 as 别名 , ,from 表名 where 条件
#从per表中查询socore大于70的id和name并取名为编号 姓名
SELECT id AS "编号", NAME AS "姓名" FROM per WHERE socore > 70

排序排序

select 列名 from 表名 where 条件 order by排序选项 排序方式
排序方式
asc 升序排序
desc 降序排序
#对per表的socore做降序排序
SELECT * FROM per  ORDER BY socore DESC

逻辑判断
and    or   not
不等值判断

>,<.>=,<=!=,<>

区间判断

between and
#查询per表中socore在70到100之间的信息
SELECT * FROM per WHERE socore BETWEEN 70 AND 100

枚举查询

in (1,2,3...)
#表per中socore值为88和78
SELECT * FROM per WHERE socore IN (88,78)

模糊查询
like _(单个任意字符)
like  ‘张%’

#以小字开头的所有人的信息
SELECT * FROM per WHERE NAME LIKE '小%'

聚合函数

聚合函数说明
sum()求所有行中单列结果的总和
avg()平均值
max()最大值
min()最小值
count()求总行数
select 聚合函数(列名)from 表名
#从per表中查找socore最大
SELECT MAX(socore),NAME FROM per
#从socore表中查找socore大于60的个数
SELECT COUNT(socore) FROM per WHERE socore>60

分组查询

select 列名 from 表名 where 条件 group by 分组依据(必须在where之后生效)having 过滤原则
#在per表中按照name进行分组
SELECT * FROM per WHERE socore>0 GROUP BY NAME

sql语句编写顺序
select 列名 from 表名 where 条件 group by 分组 having 过滤条件 order by 排列顺序
合并查询
合并表1、表2(去除重复记录)
select * from t1 union select * from t2
合并表1、表2(保留重复记录)
select * from t1 union all select* from t2
连接查询
select * from 表 1 连接方式 表2 on 连接条件

连接方式代码
内连接inner join
左连接left join
右连接right join
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值