Mysql基础(三)
#DML语言
/*
数据操作语言
插入:insert
insert into 表名(列名,...) values(值1,...);
insert into 表名 set 列名=值, 列名=值,... 修改:update
删除:delete
*/ CREATE TABLE beauty(
id INT(11) PRIMARY KEY,
`name` VARCHAR(50),
sex CHAR(1),
borndate DATETIME,
phone VARCHAR(11),
photo BLOB,
boyfriend_id INT(11)
);
##插入方式一:
SELECT * FROM beauty;
-- 1.插入值的类型要与列的类型一直或兼容 -- 2.不可以为null的列必须插入值,可以为null的类如何插入值
-- 方式1
INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
VALUE(13,'何苗','女','1995-2-4','',NULL,2);
-- 方式2
INSERT INTO beauty(id,NAME,sex,borndate,phone,boyfriend_id)
VALUE(15,'雨洁','女','1996-6-4','',2); -- 3.列数和值的个数一致且对应
-- 可以省略。默认所有列,而且列的顺序和表中列的顺序一致
INSERT INTO beauty
VALUES(16,'芳芳','女',NULL,'',NULL,NULL); ##插入方式二:
--
INSERT INTO beauty SET id = 19, NAME = '琳琳',phone = ''; SELECT *FROM beauty; -- 两种方式pk
-- 方式一支持批量插入多行,方式二不支持
INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)
VALUE(22,'何苗','女','1995-2-4','',NULL,2),
(20,'何苗','女','1995-2-4','',NULL,2),
(21,'何苗','女','1995-2-4','',NULL,2); -- 方式一支持子查询,方式二不支持
INSERT INTO beauty(id,NAME,phone)
SELECT 26,'colin','';
##修改语句
/*
1.修改单表的记录
语法:
update 表名 set列=新值, 列=新值, ... where 筛选条件 2.修改多表的记录
语法:
sql192语法:
update 表1 别名, 表2 别名 set 列=值, ... where 连接条件 and 筛选条件; sql199语法:
update 表1,别名 inner|left|right join 表2 别名 on 连接条件 set 列=值, ...
where 筛选条件; */ -- 修改beayty表中姓 琳 的电话号码为888
UPDATE beauty SET phone = ''
WHERE `name` LIKE '琳琳'; ##删除语句
/*
方式一:delete
1.单表的删除
delete from 表名 where 筛选条件 2.多表的删除
sql192
delete 表1的别名,表2的别名
from表1 别名, 表2 别名
where 连接条件
and 筛选条件;
sql199
delete 表1的别名 ,表2的表名
from 表1,别名
inner|left|right join 表2 别名 on 连接条件 、
where 筛选条件; 方式二: truncate
语法:truncate table 表名; truncate和delete区别:①假如要删除的表中有自增长列,如果用delete删除后,再插入数据,自增长列的值从断点开始,
而truncate删除后,再插入数据,自增长的值从1开始。
②truncate删除没有返回值,delete删除有返回值
③truncate删除不能回滚,delete删除可以回滚
*/ -- 删除手机号4结尾的信息
DELETE FROM beauty
WHERE phone LIKE '%4'; ##truncate 清空数据
TRUNCATE TABLE beauty;
#DDL
/*
数据定义语言
库和表的管理
1.库的管理:
创建,修改,删除 2.表的修改
创建,修改,删除
创建: create
修改: alter
删除: drop
*/ ##库的管理
-- 1.创建库
CREATE DATABASE IF NOT EXISTS 库民; -- 2.库名的修改,直接找文件修改,一般库不做修改, -- 更改库的字符集
ALTER DATABASE 库名 CHARACTER SET gbk; -- 库的删除
DROP DATABASE IF EXISTS 库名; ##表的管理
-- 表的创建
/*
create table 表名(
列名 列的类型(长度)约束,
列名 列的类型(长度)约束,
...
列名 列的类型(长度)约束
);
*/
-- 1.创建表Book
CREATE TABLE Book(
Id INT,
bName VARCHAR(20),
price DOUBLE,
authorId VARCHAR(20),
publishDate DATETIME,
nation VARCHAR(20)
); DESC Book;
SELECT * FROM Book; -- 2.表的修改:
/*
①改列名 CHANGE COLUMN
②修改列的类型或约束 MODIFY COLUMN publ TIMESTAMP;
③添加新列 ADD COLUMN
alter table 表名 add column列名 类型 first|after 字段字段名;
④删除列 DROP COLUMN
⑤修改表名 RENAME TO
*/
ALTER TABLE book CHANGE COLUMN pubDate publ DATETIME;
ALTER TABLE Book MODIFY COLUMN publ TIMESTAMP;
ALTER TABLE Book ADD COLUMN page INT ;
ALTER TABLE Book ADD COLUMN AA INT AFTER price;
ALTER TABLE Book DROP COLUMN page;
ALTER TABLE Book RENAME TO book_ac;
DESC book_ac; ##表的删除
DROP TABLE IF EXISTS book_ac; #表的复制
-- 1.仅仅复制表的结构
CREATE TABLE copy LIKE book_ac;
-- 2.复制表的结构+数据
CREATE TABLE copy2 SELECT * FROM book_ac;
-- 3.只复制部分数据
CREATE TABLE copy3
SELECT id,price
FROM book_ac
WHERE nation = '中国'; -- 4.仅仅复制某些字段
CREATE TABLE copy4
SELECT id,price
FROM book_ac
WHERE 1=3;
## 常见的数据类型 /*
数值型:
整型: tinyint smallint mediumint int/integer bigint
1字节 2字节 3字节 4字节 8字节
特点:① 如果不设置无符号还是有符号,默认的是有符号,
如果想设置无符号,需要添加unsigned关键字
② 如果插入的数值超过整型的范围,回报out of rang异常,
并且插入临界值.
③ 如果不设置长度,会有默认的长度,长度代表显示的最大宽度
如果不够会用0在左边填充,但必须搭配zerofill使用
小数:
浮点型:
float(M,D)
double(M,D)
定点数:
dec(M,D)
decimal(M,D)
特点:① M代表整数部位 + 小数部位,D代表小数部位个数,如果超过范围,插入临界值
② M和D都可以省略,如果是decimal,则M默认为10,D默认为0
如果是float和double,则会根据插入的数值的精度来决定精度
③ 定点型的精度 较高,如果要求插入数值的精度较高,
如货币运算符则考虑使用 字符型:
较短的文本:char(M) M默认为1,可省略 固定长度的长度 空间的耗费比较耗费 效率高
varchar(M) 不可以省略 可变的长度 空间耗费高 效率低
其他
enum 用于保存枚举
set 用于保存集合 较长的文本: text
blob(较长的二进制数据) 日期型:
字节 范围 受时区的影响
date 只保存=日期
time 只保存时间
year 只保存年
datetime 保存日期+时间 8 1000-9999 不受
timestamp 保存日期+时间 4 1970-2028 受 */
-- 原则:多选择的类型越简单越好,能保存数值的类型越小越好
Mysql基础(三)的更多相关文章
- 04 mysql 基础三 (进阶)
mysql 基础三 阶段一 mysql 单表查询 1.查询所有记录 select * from department; select * from student; select * from ...
- mysql基础三(视图、触发器、函数、存储过程、事务、防注入)
一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. 1.创建视图 -格式:CREATE ...
- mysql基础(三)——中级查询
创建表 CREATE TABLE DEPT( DEPTNO ) PRIMARY KEY, DNAME ) , LOC ) ) ; ,'ACCOUNTING','NEW YORK'); ,'RESEAR ...
- MySQL 基础三 函数(聚合、字符串、时间、条件判断)
1.聚合 其它:GROUP_CONCAT.avg.sum.count.max.min SELECT typeid,GROUP_CONCAT(goodsname) FROM `goods` GROUP ...
- MySQL基础(三)——约束
MySQL基础(三)--约束 约束是在表上强制执行的数据校验规则,主要用于维护表中数据的完整性以及当数据之间有以来关系时,保护相关的数据不会被删除. 根据约束对列的限制,可以划分为:单列约束(只约束一 ...
- { MySQL基础数据类型}一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型
MySQL基础数据类型 阅读目录 一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型 一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己 ...
- Mysql基础(三):MySQL基础数据类型、完整性约束、sql_mode模式
目录 2.MySQL基础数据类型.完整性约束.sql_mode模式 1. MySQL常用数据类型 2. 完整性约束 3. MySQL的sql_mode模式说明以及设置 2.MySQL基础数据类型.完整 ...
- MYSQL基础笔记(三)-表操作基础
数据表的操作 表与字段是密不可分的. 新增数据表 Create table [if not exists] 表名( 字段名 数据类型, 字段名 数据类型, 字段n 数据类型 --最后一行不需要加逗号 ...
- Mysql基础代码(不断完善中)
Mysql基础代码,不断完善中~ /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限 ...
随机推荐
- python selenium(环境搭建)
一:自动化了解知识 工具安装 什么样的项目适合做自动化? 自动化测试一般在什么阶段开始实施? 你们公司自动化的脚本谁来维护?如何维护? 自动化用例覆盖率是多少? 自动化的原理 通过 webdriver ...
- RF(ride 工具使用)
1.新建项目 project,工程 suite,用例 testcase 新建 project:file -> new project,输入工程名,Type 选择 directory,选择工程存放 ...
- Kubernetes实战总结
>>> 目录 <<< 一.概述二.核心组件三.基本概念四.系统架构五.镜像制作六.服务编排七.持续部署八.故障排查 >>> 正文 << ...
- P2774 方格取数问题 网络流
题目: P2774 方格取数问题 题目背景 none! 题目描述 在一个有 m*n 个方格的棋盘中,每个方格中有一个正整数.现要从方格中取数,使任意 2 个数所在方格没有公共边,且取出的数的总和最大. ...
- springboot配置静态资源访问路径
其实在springboot中静态资源的映射文件是在resources目录下的static文件夹,springboot推荐我们将静态资源放在static文件夹下,因为默认配置就是classpath:/s ...
- 记一次jackson序列化Boolean的坑
@Data public class CouponTemplateDto { /** * 优惠券类型id */ private Long couponTypeId; /** * 优惠券模板id */ ...
- python gdal 写GeoTiff文件
1.gdal数据类型 (1)GDT_Byte(int8) (2)GDT_UInt16 (3)GDT_Int16 (4)GDT_UInt32 (5)GDT_Int32 (6)GDT_Float3 ...
- 黑马程序员_毕向东_Java基础视频教程——java语言组成部分(随笔)
java语言组成部分 Java是一种强类型语言,所谓强类型语言就是对具体的数据进行不同的定义.对类型的划分的十分细致,对内存中分配了不同大小的内u你空间 关键字 标识符 注释 变量和常量 运算符 语句 ...
- Spring-mvc 配置文件applicationContext.xml
相关jar包(4.3.16.RELEASE) <!-- Spring mvc 基础jar包,maven 依赖 --> <dependency> <groupId>o ...
- vue 升级element-ui woff文件404
一.build文件下utils.js下增加 publicPath:'../../' 二. 同样的代码环境,用yarn来安装依赖后启动运行正常,而采用npm安装依赖则有类似问题.当然,这个和yarn或者 ...