mysql数据库在哪里写语句_MySQL数据库基本操作以及SQL语句

连接mysql的语法

mysql -u用户名 -p密码 [-h主机名] [-P端口号]

在一个mysql服务器中, 可以有多个mysql数据库(本质是一个文件夹)

在一个mysql数据库中, 可以有多个数据库表(本质是一个二进制文件)

在一个mysql表中, 可以有多条记录(数据)

SQL语法

1. 分号结尾

2. 不区分大小写

3. 注释:

-- ,#,/* */

语句分类

DDL 数据定义语言:定义数据库结构, 表结构

DML 数据操作语言:增删改

DQL 数据查询语言:查询

DCL 数据控制语言:用户维护, 权限管理, 安全操作. 一般由DBA完成

DDL:操作数据库、表

数据库操作 CRUD :

create增:

-- 直接创建数据库 db1

CREATE DATABASE db1;

-- 判断是否存在,如果不存在则创建数据库 db2并指定字符集为 gbk

CREATE DATABASE IF NOT EXISTS DB2 DEFAULT CHARACTER SET GBK;

drop删:

-- 删除数据库db1的语法

DROP DATABASE db1;

alter改:

-- 将 db2数据库的字符集改成 utf8

ALTER DATABASE db2 CHARACTER SET utf8;

SELECT查:

-- 查看正在使用的数据库

SELECT DATABASE();

f51e9a3e358c87678a7433dee955bbe2.png

show看:

-- 查看数据库db2的定义信息

SHOW CREATE DATABASE db2;

e7f65dd5dc82755d0a6696550ba2e394.png

desc显示表结构:

231149d2aabde62cbae15a36361b7171.png

use换:

-- 改变要使用的数据库

USE db4;

表相关操作:

建表语句:

create table 表名(列的列表);

CREATE TABLE Aniki(

NAME VARCHAR(20),

age INT,

sex CHAR(1),

old_saying VARCHAR(100),

insert_time TIMESTAMP

);

206994bdb78de3fc62fa4ad371e7adca.png

ce9e16e8bf3e909a4d60aa32019b14ab.png

datetime和timestamp的区别?

格式一样的. timestamp不允许为null, 即使指定为null ,也会设置一个默认值, 就是当前系统时间.

字符串类型(必须指定长度)varchar和char的区别?

varchar(20) char(20),varchar是可变长度字符串, 指定的长度是该字符串的最大长度.

char是定长的字符串, 指定的长度就是字符串最终的长度, 如果指定的字符串长度不足, 用空格补齐.

DML:增删改表中数据

插入语句:

insert into 表名 (列的列表) values(值的列表);

INSERT INTO Aniki (NAME,age,sex,old_saying,insert_time) VALUES ('Van', 20, '♂','DeepDarkFantasy',NULL);

INSERT INTO Aniki (NAME,age,sex,old_saying,insert_time) VALUES ('Bili', 20, '♂','乖乖站好',NULL);

216d7860a97b01ef03fd8a829a6de55f.png

删除语句:

delete from 表名 where 条件

DELETE FROM aniki WHERE NAME='Van';

delete 和 truncate的区别?

delete是DML, 而truncate是DDL. DML可以通过事务管理进行回滚, DDL不能被事务管理.

delete 效率低, 是逐行删除. truncate效率非常高.

修改语句:

update 表名 set 列名1 = 值1, 列名2 = 值2... where 条件

UPDATE aniki SET sex='男' WHERE NAME='Bili';

16cdcf0067782813036f332d469573db.png

DQL:查询表中的记录

基础查询

多个字段的查询

select 字段名1,字段名2... from 表名;

注意:

如果查询所有字段,则可以使用*来替代字段列表。

去除重复:distinct

select distinct ... from ... where ... group by... having ... order by ... limit ...

distinct去重, 只是把结果集中的重复记录去除.

e06cb76b5742c51e6accb5bfa65c6fe2.png

295c2c031bd557ab89e625b9ee5fb252.png

计算列:

一般可以使用四则运算计算一些列的值。(一般只会进行数值型的计算)

ifnull(表达式1,表达式2):null参与的运算,计算结果都为null

表达式1:哪个字段需要判断是否为null

如果该字段为null后的替换值。

ifnull()函数替换null值为指定值.

6213bb3af0acdc6e372dd7df8a4f84f1.png

87aea0aa7c3e75cdd02fc46aaae314cd.png

起别名:

as:as也可以省略

条件查询

where子句后跟条件

运算符

、< 、<= 、>= 、= 、<>

BETWEEN...AND

IN( 集合)

IS NULL

and 或 &&

or 或 ||

not 或 !

LIKE:模糊查询

占位符:

%: 任意(0个或者多个)多个任意字符

_: 一个任意字符, 有且只有一个.

8eeed742ab6032d939e0829d21bba435.png

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值