个人总结mysql常用语句

这篇博客总结了MySQL中的关键操作,包括创建表、删除表(delete、drop、truncate)、添加外键约束、插入语句、alter表操作(添加、修改、删除列)、update修改语句、联合查询、自连接、分页与排序以及MD5加密方法。
摘要由CSDN通过智能技术生成

Mysql常用语句

SELECT[ALL|DISTINCT|DISTINCTROW|TOP]
{*|talbe.*|[table.]field1[AS alias1][,[table.]field2[AS alias2][,]]}
FROM tableexpression[,][IN externaldatabase]
[WHERE…]
[GROUP BY…]
[HAVING…]
[ORDER BY…]
[WITH OWNERACCESS OPTION]
-- 顺序不能有错
-- 表和字段可以取别名
创建表
  • create table xxx(
    	字段名1 类型[]  约束,
        字段名2 类型[]  约束,
        字段名3 类型[]  约束,
        ...
        最后一行不用加','
        key 外键约束名 (字段民)
    )
    
  • create table  新表 select  * from 被复制的表
    采用这种方式只能复制数据,不能复制其相关约束,例如主键等约束
    

删除表

1.delete

删除某几行

delete from 表名  [条件]

2.drop

删除表数据和结构

alter table 表名 drop 字段名

3.truncate

只删除所有数据,不删除结构

truncate table 表名称 

添加外键约束

1,sql语句创建表的同时添加外键约束

CREATE TABLE tb_UserAndRole  --用户角色表
(
  ID INT PRIMARY KEY IDENTITY(1,1),
  UserID INT NOT NULL,--用户ID
  RoleID INT NOT NULL,--角色ID
  foreign key(UserID) references tb_Users(ID)--tb_Users表的ID作为tb_UserAndRole表的外键
)

2、添加外键约束(关联字段要用括号括起来)

 ALTER TABLE 从表 ADD CONSTRAINT 约束名 FOREIGN KEY (关联字段) references 主表(关联字段);
 例如:
ALTER TABLE tb_UserAndRole ADD CONSTRAINT FK__tb_UandR_Role FOREIGN KEY (RoleID) references tb_Role(ID);

Insert 插入语句

insert into 表名 (字段一,子段2) values (值一,值二),(值一,值二)
insert into student(id,name) values (1,'李明'),(2,'李白')

字段可以省略但是后面的值必须要一一对应

alter添加列
alter table 表名 add column 新字段
例:
alter table stuednt add column sex char(1) not null comment'性别'
alter修改列
alter table students change gender 性别 varchar(4);
alter table students change column gender 性别 varchar(4);
两种方式皆可
alter table 表名 change  ( column)原列名 新列名 列类型;
alte删除列
alter table students drop column 列名;

update修改语句

update student set name="yhq" where id='1'
update 表名 set 字段=新名字 where 字段=条件
多个属性用,隔开
update 表名 set 字段一=' ', 字段二=' ' where 条件

条件where

between ..  and .. 双闭区间
多个条件用 and

拼接

SELECT CONCAT('姓名:',Sname) AS 新名字 FROM student

在这里插入图片描述

去重

select distinct '字段' from table

like结合%

select '字段' from table where 字段 Like '刘%'  查询性刘的同学
select '字段' from table where 字段 Like '刘_' 查询刘后面一个字的

查询 年龄在 11,12,13的学生

select '字段' from table where age in(11,12,13)
in中不能使用%,_等类似查询的符号

联合查询

select (字段1,字段2...) from 表一 INNER join 表二 on1.字段=2.字段
查询字段时,如两个表中都有相同的字段,差需标记清楚是哪个表的字段,例如
select student.id from student inner join grade on student.id=grade.id


左联合查询

select (字段1,字段2...) from 表一 left join 表二 on1.字段=2.字段
表一的所有属性都会显示,无论是否能在表二中找到对应的

右联合查询right

select (字段1,字段2...) from 表一 right join 表二 on1.字段=2.字段
表二的所有属性都会显示,无论是否能在表一中找到对应的

自连接

本质是将一个表拆分成两个表

原表

在这里插入图片描述

select a.Sname as '父类学科',b.Sname as '子类学科' from
    subject as a ,subject as b where a.subjectid=b.pid

查询结果

在这里插入图片描述

分页(limit)和排序(order by)

在select语句最后面加入即可

order by 字段 asc 升序
order by 字段 desc 降序

LimIt 当前页 ,页面的大小

limit 1,5 每页5条数据 从第1条数据开始显示

md5加密

-- 在插入的时候加密
insert into 表名 values (值一,值二,MD5(要加密的值))

在select语句最后面加入即可

order by 字段 asc 升序
order by 字段 desc 降序

LimIt 当前页 ,页面的大小

limit 1,5 每页5条数据 从第1条数据开始显示

md5加密

-- 在插入的时候加密
insert into 表名 values (值一,值二,MD5(要加密的值))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值