#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. muduo网络库源码学习————Exception类

    Exception类是为异常捕获而设计,可以获得异常的信息以及栈的回溯信息 (原来的代码没有demangle成员函数,输出的格式比较难看,加了demangle成员函数,利用demangle成员函数可以 ...

  2. 获取Wi-Fi的SSID

    前几天做项目的时候,碰到一个问题,获取wifi的SSID,其实就是获取Wi-Fi的名字 iOS12以前 在iOS13之前获取wifi的SSID很简单,苹果提供了接口CNCopyCurrentNetwo ...

  3. Linux权限管理、系统进程管理

    权限管理 linux系统中分为四种角色 u=user 当前用户   g=group 同组用户   o=other 其他用户   a=all 代表所有用户 三种权限 r=read 可读 w=write ...

  4. 201771010113 李婷华 《面向对象程序设计(Java)》第六周总结

    一.理论知识部分 第四章 类与对象 1.方法的定义:方法声明和方法体. 2.重载:一个类中可以有多个方法具有相同的名字,不同的类型,不同的参数. 3.构造器:也叫构造方法,是类中的一种特殊的方法,其作 ...

  5. Mysql常用sql语句(八)- where 条件查询

    测试必备的Mysql常用sql语句,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1683347.html 前言 ...

  6. C语言进阶_分支语句

    勇气是在压力之下展现出的优雅. 一.简介 C语言提供了两种分支语句可供选用,一是if.......else....类型,一种是Switch语句.两种语句都能根据条件判断结果执行不同的指令,且能进行替换 ...

  7. [hdu4627 The Unsolvable Problem]数论

    题意:给一个数n,找一个正整数x<n,使得x和n-x的最小公倍数最大. 思路:显然x和n-x越接近越好,gcd必须为1(贪心).从大到小考虑x,如果n为奇数,则答案就是x=n/2,如果n为偶数, ...

  8. Analysis分析器

    一.Analysis简介 场景执行过程中,loadrunner收集执行过程中的数据,存储在扩展名为.lrr的文件中,Analysis分析器打开这个文件,对文件信息进行处理,并生成图和报告. 数据分析不 ...

  9. vue与其他框架对比

    https://cn.vuejs.org/v2/guide/comparison.html 1. vue 框架的特点? MVVM框架模式 轻量级,灵活,容易上手 数据驱动 组件化(单文件组件) 插件化 ...

  10. mysql运维入门3:MyISAM和InnoDB

    myisam 5.1的默认存储类型 基于传统的ISAM类型,Indexed Sequential Access Method,有索引的顺序访问方法 存储记录文件的标准方法 不是事务安全,不支持外键 表 ...