ToB企服应用市场:ToB评测及商务社交产业平台

标题: 初识Mysql-01-底子语法 [打印本页]

作者: 用户国营    时间: 2024-7-18 17:36
标题: 初识Mysql-01-底子语法
数据库介绍

什么是数据库


常用数据库


Mysql

数据库管理系统

数据库管理系统(DataBase Management System,DBMS):指一种操纵和管理数据库的大型软件,用于建立、利用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完备性。用户通过数据库管理 系统访问数据库中表内的数据
数据库管理系统、数据库和表的关系

数据库管理程序(DBMS)可以管理多个数据库,一样平常开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一样平常会在数据库创建多个表,以保存程序中实体 User 的数据。
具体关系如图:

SQL 的概念

Structured Query Language 布局化查询语言
Sql的作用


SQL 语句分类


MySQL 的语法


MySQL 数据类型

分类类型名称类型说明整数tinyInt微整型:很小的整数(占 8 位二进制)·smallint小整型:小的整数(占 16 位二进制)·mediumint中整型:中等长度的整数(占 24 位二进制)·int(integer)整型:整数类型(占 32 位二进制)小数float单精度浮点数,占 4 个字节·double双精度浮点数,占 8 个字节日期time表现时间类型·date表现日期类型·datetime同时可以表现日期和时间类型字符串char(11)固定长度的字符串,无论利用几个字符都占满全部,M 为 0~255 之间的整数·varchar(11)可变长度的字符串,利用几个字符就占用几个,M 为 0~65535 之间的整数大二进制tinyblob Big Large Object答应长度 0~255 字节·blob答应长度 0~65535 字节·mediumblob 答应长度 0~167772150 字节·longblob 答应长度 0~4294967295 字节大文本tinytext答应长度 0~255 字节·text答应长度 0~65535 字节·mediumtext答应长度 0~167772150 字节·longtext答应长度 0~4294967295 字节 DDL 操纵数据库

创建数据库: CREATE DATABASE 数据库名;
判断数据库是否已经存在,不存在则创建数据库: CREATE DATABASE IF NOT EXISTS 数据库名;
创建数据库并指定字符集: CREATE DATABASE 数据库名 CHARACTER SET 字符集;
查看全部数据库:show databases;
查看某个数据库的定义信息: show create database 数据库名;
修改数据库默认的字符集:ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;
删除数据库的: DROP DATABASE 数据库名;
查看正在利用的数据库: SELECT DATABASE();
利用/切换数据库: USE 数据库名;
创建表的格式:
  1. CREATE TABLE 表 名 (
  2.         字段名 1 字段类型 1,
  3.         字段名 2 字段类型 2
  4. );
复制代码
查看某个数据库中的全部表: SHOW TABLES;
查看表布局: DESC 表名;
查看创建表的 SQL 语句:  SHOW CREATE TABLE 表名;
快速创建: CREATE TABLE 新表名 LIKE 旧表名;
直接删除表: DROP TABLE 表名;
判断表是否存在,如果存在则删除表: DROP TABLE IF EXISTS 表名;
添加表列 ADD: ALTER TABLE 表名 ADD 列名 类型;
修改列类型 MODIFY: ALTER TABLE 表名 MODIFY 列名 新的类型;
修改列名 CHANGE: ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;
删除列 DROP: ALTER TABLE 表名 DROP 列名;
修改表名: RENAME TABLE 表名 TO 新表名;
修改字符集 character set: ALTER TABLE 表名 character set 字符集;
DML 操纵表中的数据

插入记录

  1. INSERT [INTO] 表名 [字段名] VALUES (字段值)
  2. INSERT INTO 表名:表示往哪张表中添加数据
  3. (字段名 1, 字段名 2, …):要给哪些字段设置值
  4. 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, ...);
留意:

蠕虫复制:
将一张已经存在的表中的数据复制到另一张表中。
将表名 2 中的全部的列复制到表名 1 中:  INSERT INTO 表名1 SELECT * FROM 表名2;
只复制部分列: INSERT INTO 表名1( 列1, 列2) SELECT 列1, 列2 FROM student;
更新表记录

  1. UPDATE 表名  SET 列名=值  [WHERE 条件表达式]
  2. UPDATE: 需要更新的表名
  3. SET: 修改的列值
  4. WHERE: 符合条件的记录才更新
  5. 你可以同时更新一个或多个字段。
  6. 你可以在 WHERE 子句中指定任何条件。
复制代码
不带条件修改数据: UPDATE 表名 SET 字段名=值;  修改了全部行
带条件修改数据: UPDATE 表名 SET 字段名=值 WHERE 字段名=值;
删除表记录

  1. DELETE FROM 表名  [WHERE 条件表达式]
  2. 如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。
  3. 你可以在 WHERE 子句中指定任何条件
复制代码
不带条件删除数据: DELETE FROM 表名;
带条件删除数据:  DELETE FROM 表名 WHERE 字段名=值;
利用 truncate 删除表中全部记录: TRUNCATE TABLE 表名;
DQL 查询表中的数据

  1. SELECT 列名 FROM 表名 [WHERE 条件表达式]
  2. SELECT 命令可以读取一行或者多行记录。
  3. 你可以使用星号(*)来代替其他字段,SELECT 语句会返回表的所有字段数据
  4. 你可以使用 WHERE 语句来包含任何条件。
复制代码
  1. SELECT 字段名 FROM 表名 WHERE 条件;
  2. 流程:取出表中的每条数据,满足条件的记录就返回,不满足条件的记录不返回
复制代码
准备数据:
  1. CREATE TABLE student3 ( id int,        -- 编号
  2. name varchar(20), -- 姓名
  3. age int, -- 年龄
  4. sex varchar(5),        -- 性别address varchar(100),        -- 地址math int, -- 数学
  5. english int -- 英语
  6. );
  7. INSERT INTO student3(id,NAME,age,sex,address,math,english) VALUES (1,'马云',55,'男','
  8. 杭州',66,78),(2,'马化腾',45,'女','深圳',98,87),(3,'马景涛',55,'男','香港',56,77),(4,'柳岩
  9. ',20,'女','湖南',76,65),(5,'柳青',20,'男','湖南',86,NULL),(6,'刘德华',57,'男','香港
  10. ',99,99),(7,'马德',22,'女','香港',99,99),(8,'德玛西亚',18,'男','南京',56,65);
复制代码
比力运算符说明>、<、<=、>=、=、<><>在 SQL 中表现不即是,在 mysql 中也可以利用!=,没有==BETWEEN…AND在一个范围之内,如:between 100 and 200相称于条件在 100 到 200 之间,包头又包尾IN(集合)集合表现多个值,利用逗号分隔LIKE ‘张%’模糊查询IS NULL查询某一列为 NULL 的值,注:不能写=NULL
逻辑运算符说明and 或 &&与,SQL 中建议利用前者,后者并不通用。or 或 ||或not 或 !非
in 关键字:
  1. SELECT 字段名  FROM 表名  WHERE 字段  in (数据 1, 数据 2...);
  2. in 里面的每个数据都会作为一次条件,只要满足条件的就会显示
复制代码
范围查询:
  1. BETWEEN 值 1 AND 值 2
  2. 表示从值 1 到值 2 范围,包头又包尾
  3. 比如:age BETWEEN 80 AND 100 相当于: age>=80 && age<=100
复制代码
like 关键字:
  1. LIKE 表示模糊查询
  2. SELECT * FROM 表名 WHERE 字段名 LIKE '通配符字符串';
复制代码
通配符说明%匹配任意多个字符串_匹配一个字符
欢迎java热爱者了解文章,作者将会连续更新中,期待各位友友的关注和收藏。。。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4