上周内容回顾
库的增删改查
show databases; show create databese db; create database db1; alter datebase charset=‘gbk‘ drop database db1;
表的增删改查
# 操作表之前一定要明确库 use db1; # 查看当前所在的库 select database(); show tables; show create table t1; desc t1; create table t1(id int,name varchar(32)); alter table modify/rename/change ... drop table t1;
记录的增删改查
select * from t1; select id,namm,password from t1; insert into t1 values(1,‘jason‘); insert into t1 values(),(),(); update t1 set name=‘jasonNB‘ where id=1; delete from t1 where id>3;
存储引擎
show engines; myisam innodb 现在主要使用的存储引擎 memory blackhole create table t1(id int,name char(32)) engine=‘Memory‘;
mysql的基本数据类型整型
tinyint smallint int bigint # 默认都是自带正负号的 create table t2(id int unsigned); # unsigned不带符号
mysql的基本数据类型之浮点型
float float(255,30) double double(255,30) decimal decimal(65,30) 精确度 float < double < decimal # 1.有时候看似需要用数字存储的数据内部可能使用的是字符类型,字符类型可以避免存储转化的问题 # 2.python对数字其实不是很敏感,之所以能够做数据分析是因为模块(聚合怪)
mysql的基本数据类型之字符类型
char 定长 varchar 变长 # 子分类型括号里面的数字用来限制存储的字符个数
严格模式
show variables like ‘%mode%‘ set global sql_mode=‘STRICT_TRANS_TABLES‘
今日内容概要
数字类型与字符类型括号后面的数字区别
字符类型括号里的数字用来表示存储限制 整型类型括号里的数字用来表示展示长度(不够是否zerofill填充等,一般默认设置就可以了)
数据类型之时间类型
以后主要是模块收集而来的时间而非自己输入
数据类型之枚举与集合(单选与多选)
一选一,比如统计人的性别,国家等 enum 语句 多选多或多选一,如兴趣爱好 set 语句
创建表的完整语法
修改表
查询流程
插入数据的两种方式
针对主键
今日内容详细
数字类型与字符类型括号后面的数区别
1.我们知道字符类型括号里面的数字里面的标识用来表示存储限制 2.针对整型其实我们需要额外注意并不是用来标识存储限制 整型后面的数字回用于控制展示长度的,并且我们在定义整型字段的时候根本无需制定,默认使用的就可以了 # zerofill数字不够用0填充 create table ti(id int(4) zerofill);
日期类型
date # 年月日 datetime # 年月日时分秒 time # 是分秒 year # 年 create table user(id int, name char(16), birth date, register_time datatime, study_time time, join_date year); # 手动模拟时间数据 insert into user values(x,x,x,x,x,x)
枚举类型
其实就是多选一,比如统计人的性别 create table userinfo( id int, name varchar(32), gender enum(‘male‘,‘female‘,‘others‘) ); # 使其只能进行选择,而非输入
集合类型
其实就是多选多(多选一),比如统计人的爱好 create table user1( id int, name varchar(32), hobbies set(‘basketball‘,‘football‘,‘doublecolorball‘) );
创建表的完整语法
create table 表名( 字段名1 字段类型(宽度) 约束条件, 字段名2 字段类型(宽度) 约束条件, ); 1.字段名和字段类型是必须的!!! 2.宽度和约束是可选的(按需求) 3,约束条件可以有多个(空格隔开即可) 4.常见表的最后一个字段结尾不能加逗号
字段的约束条件
unsigned 无符号 zerofill 0填充 not null # 非空 输入某一个字段必须有内容,但是也可以输入的是(‘‘) 结果也是空 not null create table t1( id int, name varchar(32) not null ); default # 默认值 不进行输入便选定一个默认的数值输出结果 create table t2( id int, name varchar(32), gender enum(‘男‘,‘女‘,‘其他‘) default ‘男‘ ); unique # 唯一/联合唯一 不能重复的唯一值,可以是多个组合但是单个字段可以重复,多个字段的组合不能重复 create table t3( id int unique, name varchar(32) unique ); # 联合唯一 create table t4( id int, ip varchar(32), port int, unique(ip,port) ); primary key 主键 create table t5( id int primary key, name char(32) ); 1.在约束层面上的效果等价于not null 加 unique 2.innodb存储引擎都规定了所有的表都应该有一个主键字段 ‘‘‘ 1.如果·没有主键字段且表中有非空且唯一的字段会自动升级 2.如果没有主键字段且表中也没有其他带有约束条件的字段,那么innodb会采用采用内部隐藏的一个字段位主键,但是该字段无法使用到 3.我们在创建表的时候应该设置一个id字段并且id字段是表的主键 ‘‘‘ auto_increment 自增 其实就是专门给primary key用的 ################################ ‘‘‘以后我们自创建表的时候,针对主键字段固定按照下列的语句书写‘‘‘ 主键字段名 int primary key auto_increment ################################### # 联合主键:多个字段联合起来作为表的一个主键,本质还是一个主键(了解) create table t18( ip char(16), port int, primary key(ip,port) ); desc t18; # 非空且唯一
修改表
# mysql对大小写并不敏感 语法: 1. 修改表名 ALTER TABLE 表名 RENAME 新表名; 2. 增加字段 ALTER TABLE 表名 ADD 字段名 数据类型 [完整性约束条件…], ADD 字段名 数据类型 [完整性约束条件…]; ALTER TABLE 表名 ADD 字段名 数据类型 [完整性约束条件…] FIRST; ALTER TABLE 表名 ADD 字段名 数据类型 [完整性约束条件…] AFTER 字段名; 3. 删除字段 ALTER TABLE 表名 DROP 字段名; 4. 修改字段 # modify只能改字段数据类型完整约束,不能改字段名,但是change可以! ALTER TABLE 表名 MODIFY 字段名 数据类型 [完整性约束条件…]; ALTER TABLE 表名 CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…]; ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…];
查询流程
1.客户端输入sql语句 2.基于网络将sql语句发送给服务端 3.腐竹段校验审核执行sql语句 4.将sql语句的结果给予网络返回给客户端 5.客户端收到信息后渲染成表给用户看 # 了解 只复制表数据语句 create table t8 select * from t7; 只复制表结构语句 create table t9 like t7;
插入数据的两种方式
insert into t1 values(按照字段依次填值) insert into t19(id) values(按照字段依次填值)
针对主键
1.不会因为数据的删除而自动重置/回退 # 在分析中有利于有记录利于工作进行 不推荐直接完全格式化 2.如果真的想重置主键只能格式化表 delete from 不可以 truncate 可以
作业
1.今日笔记整理 2.间隔客商操作语句至少敲三遍 做到脱稿 学习就是反复记忆的过程!!!!!!!!!
mysql数据类型和约束条件
标签:pass 两种 默认 innodb jason 创建表 唯一值 sql数据类型 reg
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did117949