mysql建立数据库并给定别名_最近学习MySQL的一些笔记

75fe6f9274cb7f2e490693d21ee3d696.png

f02a08d27b9d007e2f4371ea2e1bd161.png

SQL 语句分类

Data Definition Language (DDL 数据定义语言) 如:建库,建表

Data Manipulation Language(DML数据操纵语言),如:对表中的记录操作增删改

Data Query Language(DQL数据查询语言),如:对表中的查询操作

Data Control Language(DCL 数据控制语言),如:对用户权限的设置

MySQL 的语法

每条语句以分号结尾,如果在 SQLyog 中不是必须加的。

SQL 中不区分大小写,关键字中认为大写和小写是一样的

3 种注释:

注释的语法

说明

--空格

单行注释

/* */

多行注释

#

这是 mysql 特有的注释方式

创建数据库的几种方式

创建数据库

CREATE DATABASE数据库名;

判断数据库是否已经存在,不存在则创建数据库

CREATE DATABASE IF NOT EXISTS数据库名;

创建数据库并指定字符集

CREATE DATABASE 数据库名CHARACTER SET 字符集;

查看所有的数据库

show databases;

修改数据库默认的字符集

ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;

删除数据库的语法

DROP DATABASE 数据库名;

查看正在使用的数据库

SELECT DATABASE();  使用的一个 mysql 中的全局函数

6.5.2 使用/切换数据库

USE数据库名;

创建表的格式

CREATE TABLE表名(字段名1字段类型1,字段名2字段类型2);

7.1.2 关键字说明:

创建表的关键字

说明

CREATE

创建

TABLE

常使用的数据类型如下:

07fdbe42823c00218c5270af1a890941.png

查看某个数据库中的所有表

SHOW TABLES;

查看表结构

DESC 表名;

查看创建表的 SQL 语句

SHOW CREATE TABLE 表名;

快速创建一个表结构相同的表语法

CREATE TABLE 新表名 LIKE 旧表名;

直接删除表

DROP TABLE 表名;

判断表是否存在,如果存在则删除表

DROP TABLE IF EXISTS 表名;

添加表列 ADD

ALTER TABLE 表名 ADD 列名 类型;

修改列类型 MODIFY

ALTER TABLE 表名 MODIFY列名 新的类型;

修改表名

RENAME TABLE 表名 TO 新表名;

修改字符集 character set

ALTER TABLE 表名 character set 字符集;

插入记录

INSERT [INTO]表名[字段名] VALUES (字段值)

INSERT INTO表名:表示往哪张表中添加数据

(字段名1,字段名2, …):要给哪些字段设置值

VALUES (值1,值2, …):设置具体的值

所有的字段名都写出来

INSERT INTO 表名 (字段名1, 字段名2, 字段名3…) VALUES (值1, 值2, 值3);

不写字段名

INSERT INTO表名VALUES (值1,值2,

值3…);

插入部分数据

INSERT INTO表名(字段名1,字段名2,

...) VALUES (值1,值2, ...);

查看包含 character 开头的全局变量

show variables like 'character%';

将表名2中的所有的列复制到表名1中

INSERT INTO表名1 SELECT * FROM表名2;

将表名2中的所有的列复制到表名1中

INSERT INTO表名1 SELECT * FROM表名2;

更新表记录

UPDATE表名SET列名=值[WHERE条件表达式]

UPDATE:需要更新的表名

SET:修改的列值

WHERE:符合条件的记录才更新

不带条件修改数据

UPDATE 表名 SET 字段名=值;  -- 修改所有的行

带条件修改数据

UPDATE 表名 SET 字段名=值 WHERE 字段名=值;

DELETE FROM表名[WHERE条件表达式]

如果没有指定WHERE子句,MySQL表中的所有记录将被删除。

你可以在WHERE子句中指定任何条件

不带条件删除数据

DELETE FROM 表名;

带条件删除数据

DELETE FROM 表名 WHERE 字段名=值;

使用 truncate 删除表中所有记录

TRUNCATE TABLE 表名;

truncate 和 delete 的区别: truncate 相当于删除表的结构,再创建一张表。

-- 带条件删除数据,删除id为1的记录 delete from student where id=1;

-- 不带条件删除数据,删除表中的所有数据 delete from student;

DQL 查询表中的数据查询不会对数据库中的数据进行修改.只是一种显示数据的方式

SELECT列名FROM表名[WHERE条件表达式]

SELECT命令可以读取一行或者多行记录。

你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据

你可以使用WHERE语句来包含任何条件。

查询表所有行和列的数据

l 使用*表示所有列

SELECT * FROM 表名;

查询指定列

查询指定列的数据,多个列之间以逗号分隔

SELECT 字段名1, 字段名2, 字段名3, ... FROM 表名;

对列指定别名

SELECT字段名1 AS别名,字段名2 AS别名... FROM表名;

对列和表同时指定别名

SELECT 字段名1 AS 别名, 字段名2 AS 别名... FROM 表名 AS 表别名;

查询指定列并且结果不出现重复数据

SELECT DISTINCT字段名FROM表名;

某列数据和固定值运算

SELECT列名1 +固定值FROM表名;

某列数据和其他列数据参与运算

SELECT列名1 +列名2 FROM表名;

条件查询的语法

SELECT字段名FROM表名WHERE条件;

流程:取出表中的每条数据,满足条件的记录就返回,不满足条件的记录不返回

运算符

比较运算符

说明

>、=、=、<>

<>在 SQL 中表示不等于,在 mysql 中也可以使用!= 没有==

BETWEEN...AND

在一个范围之内,如:between 100 and 200 相当于条件在 100 到 200 之间,包头又包尾

IN(集合)

集合表示多个值,使用逗号分隔

LIKE '张%'

模糊查询

IS NULL

查询某一列为 NULL 的值,注:不能写=NULL

逻辑运算符

逻辑运算符

说明

and或&&

与,SQL 中建议使用前者,后者并不通用。

or或||

not或!

in 关键字

SELECT字段名FROM表名WHERE字段in (数据1,数据2...);

in里面的每个数据都会作为一次条件,只要满足条件的就会显示

范围查询

BETWEEN值1 AND值2

表示从值1到值2范围,包头又包尾

比如:age BETWEEN 80 AND 100相当于:age>=80 && age<=100

like 关键字

LIKE表示模糊查询

SELECT * FROM表名WHERE字段名LIKE '通配符字符串';

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值