#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. HBase Filter 过滤器之RowFilter详解

    前言:本文详细介绍了HBase RowFilter过滤器Java&Shell API的使用,并贴出了相关示例代码以供参考.RowFilter 基于行键进行过滤,在工作中涉及到需要通过HBase ...

  2. Android 10 获取已连接上的蓝牙设备的当前电量

    前言 最近的项目中有获取连接蓝牙设备电量的需求,查找了一些资料,发现谷歌在Android8.0推出了一个getBatteryLevel的api,用来获取蓝牙设备电量百分比的方法,但在我的项目中andr ...

  3. 跟哥一起学python(2)- 运行第一个python程序&环境搭建

    本节的任务,是完成我们的第一个python程序,并搭建好学习python的环境.  建议通过视频来学习本节内容: 查看本节视频 再次看看上一节提到的那张图,看看作为高级编程语言,我们如何编程. 首先, ...

  4. Java——Java面向对象

    该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 概述: Java是面 ...

  5. 常用linux命令学习记录

    批量替换文件中字符串: sed -i "s/ITSApi/icallApi/g" `grep ITSApi -rl icallbiz` 解释: 将icallbiz目录文件中包涵的I ...

  6. 吴恩达机器学习week2

    1.Mean normalization(均值归一化) 我们可以将均值归一化理解为特征缩放的另一种方法. 特征缩放和均值归一化的作用都是为了减小样本数据的波动使得梯度下降能够更快速的寻找到一条'捷径' ...

  7. 美团分布式ID生成框架Leaf源码分析及优化改进

    本文主要是对美团的分布式ID框架Leaf的原理进行介绍,针对Leaf原项目中的一些issue,对Leaf项目进行功能增强,问题修复及优化改进,改进后的项目地址在这里: Leaf项目改进计划 https ...

  8. 基于情感词典的python情感分析

    近期老师给我们安排了一个大作业,要求根据情感词典对微博语料进行情感分析.于是在网上狂找资料,看相关书籍,终于搞出了这个任务.现在做做笔记,总结一下本次的任务,同时也给遇到有同样需求的人,提供一点帮助. ...

  9. linux --vim 补充 .vimrc

    1.今天发现了一个新的功能.vimrc 1.这个是一个个人配置文件,可以在这个里面首先对vim进行一些设置呢 如果系统没有.vimrc文件,可以自己创建一个,touch .vimrc 举个栗子,我在. ...

  10. SQLServer用with temptb AS临时表查询或者更新字段,将某个字段赋值成某个字段的值

    with temptb AS(SELECT sl.CompanyID,info.BID FROM dbo.TableXXXXX   slLEFT JOIN dbo.Tableinfo  infoON ...