想学好mysql,必备常用语法

数据库是一个项目中最重要的核心,这里小编整理了一些常用的SQL语句,希望看完本篇文章后,你们能对使用SQL语句有一定的了解。

 

一、SQL注意点:

 

1. 每条SQL必须使用;结束

 

2. 单行注释:-- 注释内容(--后面必须加空格)

 

3. 多行注释:/*注释内容*/

 

4. Ctrl+R:运行SQL语句

 

5. Ctrl+Shfit+R:运行当前选中的SQL语句

 

二、利用sql语句创建数据库

 

-- 创建数据库

 

-- 因为创建的只有一个数据库,所以database是单数

 

CREATE DATABASE myschool;

 

-- 显示所有数据库

 

-- 因为显示出的是所有数据库,所以database是复数

 

SHOW DATABASES;

 

-- 删除数据库

 

-- delete只是清数据,表或者数据库还在

 

-- drop是直接删除表或者数据库

 

DROP DATABASE myschool;

 

-- 切换数据库

 

USE myschool;

 

-- 如果数据库已经存在的情况下,重复执行创建代码,会报错

 

-- 所以,在创建之前,一般需要做判断

 

DROP DATABAS

 

IF EXISTS myschool;

 

CREATE DATABASE myschool;

 

三、创建表

 

1.建表

 

create table 表名

 

(

 

字段名1 数据类型1 约束1,

 

字段名2 数据类型2 约束2

 

);

 

2.删除表

 

drop table if exists 表名;

 

3.查看表结构

 

desc 表名;

 

四、创建约束(没有检查约束)

 

1.主键:primary key

 

2.外键:foreign key(字段) references 主表(主键)

 

3.非空:not null、null

 

4.默认:default

 

5.标识列:auto_increment

 

6.唯一:unique

 

五、操作表

 

1.复制表结构

 

create table 表名

 

like 源表;

 

2.复制表的结构和数据

 

create table 表名

 

select * from 源表;

 

3.修改表名

 

alter table 旧表名 rename 新表名;

 

4.删除表

 

drop table 表名;

 

5.删除表字段

 

alter table 表名 drop 字段;

 

6.增加表字段

 

alter table 表名 add 字段 数据类型 约束;

 

7.修改字段

 

--修改字段名和数据类型

 

alter table 表名 change 旧字段名 新字段名 新数据类型;

 

--只修改字段数据类型

 

alter table 表名 modify 字段名 新数据类型;

 

六、数据的增删改查

 

增加数据

 

1. 增加单行记录

 

insert into 表名 values(字段1,字段2);

 

注意:

 

如果需要使用自动增长列,用default关键字来表示

 

如果添加的数据中包含外键值,必须先确定关联的主键表的主键列已存在此值

 

2. 增加多行记录

 

insert into 表名 values

 

(字段1,字段2),

 

(字段1,字段2),

 

(字段1,字段2);

 

3. 从源表中插入数据

 

insert into 目标表名[(字段列表1)]

 

select (字段列表2) from 源表 where 条件表达式

 

注意:字段列表1与字段列表2的字段个数必须相同,且对应字段的数据类型尽量保持一致

 

修改数据

 

update 表名 set 字段1=修改的值,字段2=修改的值 where 条件

 

注意:where子句指定了表中的哪些记录需要修改。若省略了where子句,则表示修改表中的所有记录

 

删除数据

 

delete from 表名 where 条件

 

truncate 表名

 

注意:使用truncate table清空表记录,会重新设置自增型字段的计数器

 

select查询

 

1.查询语法

 

select 字段列表

 

from 表名

 

where 分组前条件

 

group by 分组字段

 

having 分组后条件

 

order by 排序字段 [ asc | desc ]

 

limit [开始下标,] 长度;

 

2.基本查询

 

select 列名 as 别名 from 表名

 

使用以下几种方式指定字段列表

 

* :全部字段

 

表名.* :多表查询时,指定某个表的全部字段

 

列名:指定所需要显示的列名

 

注意:mysql中,起别名的时候可以省略as

 

select 列名 别名 from 表名

 

3.谓词

 

3.1 distinct:去除重复数据(sqlserver也有这个关键字)

 

Select distinct 列名 from 表;

 

注意:

 

* 查询列中不能包含多个distinct语句,

 

* 查询时最好只查询一个列,否则distinct会没有效果

 

3.2 limit:查询指定的行

 

Select 列列表 from 表 limit [start,] length;

 

start表示从第几行记录开始检索,length表示检索多少行记录。表中第一行记录的start值为0。

 

比如:

 

-- 查询前3行数据

 

select * from customers limit 3;

 

-- 查询第4-6行数据

 

select * from customers limit 3,3;

 

注意:

 

* MySQL中没有TOP语句,而是使用limit谓词

 

* Limit语句作为查询的最后内容,是放在where和order by后面的

 

4. from关键字

 

4.1 查询一张表

 

select 列名 from 表名

 

4.2 内联

 

select * from AA表 [inner] join BB表 on 2表的连接条件

 

查询在两张表中都出现了的数据

 

4.3 外连接

 

select * from AA表 left join BB表 on 2表的连接条件

 

依托AA表进行查询,如果AA表中存在但是BB表中不存在,则AA表对应的BB表的数据为null,右联接则相反

 

5.where条件

 

5.1比较运算符

 

=(等于)

 

>(大于)

 

>=(大于等于)

 

<(小于)

 

<=(小于等于)

 

<>(不等于)

 

!=(不等于)

 

!<(不小于)

 

!>(不大于)

 

5.2 Null比较

 

is null 和 is not null

 

5.3 逻辑运算符

 

and 、or、between … and ….

 

[not] in (值,值,值)

 

5.4 模糊查询:like

 

6.order by排序

 

desc 降序

 

asc 升序

 

注意:可以对多个列进行排序,不是同时对多个列进行排序,在第一个排序列的数据相同的情况下,再使用第二个排序列进行排序

 

7.group by 分组

 

根据字段进行分组再合并每组的数据

 

Group_concat()

 

在分组时,使用group_concat(列名)函数,可以将此组中指定列的所有值使用逗号拼接并显示

 

8.Union:将多个结果集合并成一个

 

select 字段列表1 from 表1

 

Union

 

Select 字段列表2 from 表2

 

注意:

 

* 2个表查询的字段列表要求个数和数据类型都必须一致

 

* 合并结果时会去掉重复的数据

 

以上就是数据的一些常见SQL语句了,更多java常见问答知识,请关注我们的网站了解详情吧。

 

推荐阅读:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值