#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基础(三)的更多相关文章

  1. 04 mysql 基础三 (进阶)

    mysql 基础三 阶段一 mysql 单表查询 1.查询所有记录 select * from department; ​ select * from student; ​ select * from ...

  2. mysql基础三(视图、触发器、函数、存储过程、事务、防注入)

    一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. 1.创建视图 -格式:CREATE ...

  3. mysql基础(三)——中级查询

    创建表 CREATE TABLE DEPT( DEPTNO ) PRIMARY KEY, DNAME ) , LOC ) ) ; ,'ACCOUNTING','NEW YORK'); ,'RESEAR ...

  4. MySQL 基础三 函数(聚合、字符串、时间、条件判断)

    1.聚合 其它:GROUP_CONCAT.avg.sum.count.max.min SELECT typeid,GROUP_CONCAT(goodsname) FROM `goods` GROUP ...

  5. MySQL基础(三)——约束

    MySQL基础(三)--约束 约束是在表上强制执行的数据校验规则,主要用于维护表中数据的完整性以及当数据之间有以来关系时,保护相关的数据不会被删除. 根据约束对列的限制,可以划分为:单列约束(只约束一 ...

  6. { MySQL基础数据类型}一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型

    MySQL基础数据类型 阅读目录 一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型 一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己 ...

  7. Mysql基础(三):MySQL基础数据类型、完整性约束、sql_mode模式

    目录 2.MySQL基础数据类型.完整性约束.sql_mode模式 1. MySQL常用数据类型 2. 完整性约束 3. MySQL的sql_mode模式说明以及设置 2.MySQL基础数据类型.完整 ...

  8. MYSQL基础笔记(三)-表操作基础

    数据表的操作 表与字段是密不可分的. 新增数据表 Create table [if not exists] 表名( 字段名 数据类型, 字段名 数据类型, 字段n 数据类型 --最后一行不需要加逗号 ...

  9. Mysql基础代码(不断完善中)

    Mysql基础代码,不断完善中~ /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限 ...

随机推荐

  1. [E. Ehab's REAL Number Theory Problem](https://codeforces.com/contest/1325/problem/E) 数论+图论 求最小环

    E. Ehab's REAL Number Theory Problem 数论+图论 求最小环 题目大意: 给你一个n大小的数列,数列里的每一个元素满足以下要求: 数据范围是:\(1<=a_i& ...

  2. LeetCode二分专题

    二分 二分模板 两个模板:1.最大值最小模板一,2.最小值最大用模板二 单调性.两段性的性质 版本1:二分绿色端点是答案,最大值最小 int bsearch_1(int l, int r){ whil ...

  3. Taro UI开发小程序实现左滑喜欢右滑不喜欢效果

    前言:年后入职了一家新公司,与前同事交接完之后,发现公司有一个四端的项目(iOS,Android,H5,小程序),iOS和安卓都实现了左滑右滑的效果,而h5和小程序端没实现,询问得知前同事因网上没找到 ...

  4. C++内存管理学习笔记(1)

    /****************************************************************/ /*            学习是合作和分享式的! /* Auth ...

  5. Python --函数学习1

    函数 -函数是代码的一种组织形式 -函数应该能完成一项特定的工作,而且一般一个函数完成一项工作 -函数的使用: 函数使用需要先定义 使用函数,俗称调用 pps:1.只是定义的话不会执行 2.def关键 ...

  6. 【转载】文件上传那些事儿,文件ajax无刷上传

    导语 正好新人导师让我看看能否把产品目前使用的FileUploader从老的组件库分离出来的,自己也查阅了相关的各种资料,对文件上传的这些事有了更进一步的了解.把这些知识点总结一下,供自己日后回顾,也 ...

  7. 前端面试题-几个很实用的BOM属性对象方法?

    什么是Bom? Bom是浏览器对象.有哪些常用的Bom属性呢? (1)location对象 location.href-- 返回或设置当前文档的URL location.search -- 返回URL ...

  8. Sentinel源码解析四(流控策略和流控效果)

    引言 在分析Sentinel的上一篇文章中,我们知道了它是基于滑动窗口做的流量统计,那么在当我们能够根据流量统计算法拿到流量的实时数据后,下一步要做的事情自然就是基于这些数据做流控.在介绍Sentin ...

  9. vue组件试错

    [Vue warn]: Property or method "child1" is not defined on the instance but referenced duri ...

  10. DRF认证组件

    1.DRF认证组件之视图注册用法(自定义简单使用) settings.py配置 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.a ...