MySQL服务器2
1.sql的基本语法
对数据库
create database db1; 创建数据库
对表:
create database t1(id int,name char(10)); 创建表
show create table t1; 查看创建的t1表
show tables; 查看所有的表
desc t1; 查看表的详细结构
对数据:
insert into t1(id,name) values(1,"zhang"),(2,"qing"); 插入数据
insert into t1 value(3,"qing");
select id from t1; 查询ti表的id
select id,name from t1;
select * from t1;
select * from db1.t1 where id = 2;
关系型数据库 mysql,db2,oracle,sqlite 表中存储
非关系型数据库 monogodb redis
key:value 基于model模型 obj.insert
2.存储引擎
mysql 5.5版本之后默认为innodb存储引擎
另外还有mysiam、memory、blackhome
#memory,在重启mysql或者重启机器后,表内数据清空
#blackhole 往表内插入任何数据,都相当于丢入黑洞 表内永远不存记录
复制表结构和表数据
create table a1 select * from db2.t1;
值复制表结构
create table a2 select * from db2.t1 where 1>2;
create table a3 like db2.t1;
3.数据类型
1.数字:
整型:tinyint int bigint
小数:
float:不精准(位数比较短)
double:不精准(位数比较长)
decimal:精准(内部原理是以字符串形式去存的)
2.字符串:
char(10):简单粗暴,浪费空间,存取速度快
varchar:精准,节省空间,存取速度慢
sql优化:创建表时,定长的类型往前放,,变长的往后放
3.时间类型:
year,date,time,datetime
4.枚举类型与集合类型
enum 和set
整型默认是signed有符号的 范围-128~127
sql中没有boolean类型 使用tinyint(1)来表示boolean值 1表示true 0表示false
int类型后面的存储是显示宽度而不是存储宽度,其他的数据类型都是存储宽度
所以我们来设计表的时候 int类型的字段不用加显示宽度默认是总长度的位数+1
总结一句话,定义int类型不需要加宽度,使用默认值就行
datetime
now() sql的内置函数 根据数据类型生成对应的时间格式
char 定长 存储速度快 浪费空间
varchar 变长 存储速度慢 节省空间
enum 枚举:表示多选一
set 集合 :表示多选一或者多选多
create table consumer(
id int unsigned,
name varchar(),
sex enum('male','female','other'),
level enum('vip','svip','vvip'),
fav set('smoke','drink','tangtou') ); insert into consumer values(,'一 宁','other','vvip','smoke,drink,tangtou');
小结:
数据类型:
整型 tinyyint int bigint
浮点型:float double decimal
时间:year data time datatime
字符:char 定长>varchar 变长>text 文本
枚举:enum
集合:set
布尔:boolean tinyint(1) 存储
函数:now()根据字段的数据类型获取当前的时间格式
lenght()获取字节数
char_lenght()获取字符长度
sql默认是有符号的 signed,如果设置无符号unsigned 要显示用0填充 zerofill
4.约束 ******
作用保证数据的完整性和一致性
表的设计
1.not null 与 default
create table tb1(id int not null default 2,name char(20) not null);
insert into tb1 values(1,"zhang");
insert into tb1(name) values("qing");
insert into tb1(id) values(3); x
2.unique
单列唯一
create table dep(id int not null,name varchar(20) unique);
insert into dep(id,name) values(1,"zhang");
insert into dep(id,name) values(2,"zhang"); x
多列唯一 表示每一列都唯一
create table dep2(id int unique,name varchar(20) unique);
inset into dep2(id,name) valuse(1,"zhang");
insert into dep2(id,name) valuse(1,"qing"); x
insert into dep2(id,name) values(2,"zhang"); x
组合唯一(联合唯一)只要有一列不同就能插入数据
create table dep3(
id int,
name varchar(20),
unique(id,name)
);
insert into dep3(id,name) values(1,"zhang");
insert into dep3(id,name) values(1,"qing");
insert into dep3(id,name) values(2,"zhang");
insert into dep3(id,name) values(1,"zhang"); x
3.primary key(索引优化查询)
sql版本中,一张表中值允许有一个主键,通常都是id,cid,sid.....
create table stu(id int primary auto_increment,name varchar(10) unique);
insert into stu(name) values("zhang");
化学反应 not unll + unique
create table (id int not unll unique auto_increment,name varchar(20) unique);
primary key (索引优化) 查询大量数据
4.auto_increment
自增
MySQL服务器2的更多相关文章
- 闰秒导致MySQL服务器的CPU sys过高
今天,有个哥们碰到一个问题,他有一个从库,只要是启动MySQL,CPU使用率就非常高,其中sys占比也比较高,具体可见下图. 注意:他的生产环境是物理机,单个CPU,4个Core. 于是,他抓取了CP ...
- 如何配置远程mysql服务器
如何配置远程mysql服务器 分配用户权限 可以先看一下目前的用户权限状况: use mysql; select host,user,password from user; 然后分配新的权限给某一用户 ...
- MYSQL服务器my.cnf配置文档详解
MYSQL服务器my.cnf配置文档详解 硬件:内存16G [client] port = 3306 socket = /data/3306/mysql.sock [mysql] no-auto-re ...
- mysql服务器和配置优化
一.存储引擎 mysql中有多种存储引擎,一般常见的有三种: MyIsam InnoDB Memory 用途 快读 完整的事务支持 内存数据 锁 全表锁定 多种隔离级别的行锁 全表锁定 持久性 基 ...
- 远程连接mysql数据库时报错: 错误代码 2003不能连接到MySQL服务器在*.*.*.*(111)
在测试服务器上安装完mysql后, 服务器自己访问没有问题, 但是本地通过sql客户端连接时报错: 错误代码 2003不能连接到MySQL服务器在*.*.*.*(111).在网上查了一些资料,解决方案 ...
- 登录phpmyadmin提示: #1045 无法登录 MySQL 服务器
打开phpmyadmin,进行登录,出现以下问题,提示:#1045 无法登录 MySQL 服务器 或许出现以下错误情况:phpmyadmin:#1045 无法登录 MySQL 服务器.Access d ...
- 如何将自己的windows设置为mysql服务器
1.安装mysql 服务器 2.创建超级用户,即 用户管理 mysql>use mysql; 查看 mysql> select host,user,password from user ; ...
- 一台MySQL服务器启动多个端口
一台MySQL服务器启动多个端口 在测试Mysql多主一从服务器,即一个从服务器多端口同步不同主库.本文记录了开启不同端口的操作. 详细步骤: 1.首先要先把my.cnf配置文件复制一份,开几个端口要 ...
- 详解 Spotlight on MySQL监控MySQL服务器
前一章详解了Spotlight on Unix 监控Linux服务器 ,今天再来看看Spotlight on MySQL怎么监控MySQL服务器. 注:http://www.cnblogs.com/J ...
- 1104关于优化mysql服务器几个参数和思路
转自http://www.cnblogs.com/AloneSword/p/3207697.html 按照从大到小,从主要到次要的形式,分析 mysql 性能优化点,达到最终优化的效果. 利用 min ...
随机推荐
- consul(一)什么是consul
1. consul的基本介绍 在分布式架构中,服务治理是一个重要的问题.在没有服务治理的分布式集群中,各个服务之间通过手工或者配置的方式进行服务关系管理,遇到服务关系变化或者增加服务的时候,人肉配置极 ...
- idea的maven依赖本地jar
可以手动添加jar,但是idea手动添加jar时,有时候不行. 用maven依赖本地jar方法,感觉比较正规,不会因为自己忘记手动添加jar. 比如这个达梦数据库依赖 <dependency&g ...
- pv回收
学习cloudman中的k8s 152课,创建pod时,需要在k8s-host2 中挂着到在k8s-master 中/nfs中创建的挂载目录,结果提示没有/nfs/pv1 root@k8s-maste ...
- 038 Android Magicindicator开源框架实现viewpager底部圆形指示器
1.Magicindicator介绍 Magicindicator是一个强大.可定制.易扩展的 ViewPager 指示器框架.是ViewPagerIndicator.TabLayout.PagerS ...
- java实现根据特定密钥对字符串进行加解密功能
在项目中我们经常遇到这样的场景,我们避免重要资源泄露需要将一些信息按照特定的方式(密钥)进行加密保存,然后在使用的时候再按照特定的方式(密钥)进行解密读取,以保证信息的相对安全.那么如何对信息进行加解 ...
- 迅雷下载敏感资源 迅雷应版权方要求无法下载 μTorrent使用方法(六种方法,值得你看)(22)
1. 解决方案1 1.1 声明 此方法只适用于迅雷极速版,迅雷X不管用. 修改后下载有些磁力链接或种子,依然无反应.不是说该方法无效,而是有些种子资源不佳,很难下载,需要等半天才能连接上开始下载.如果 ...
- [C++] 非递归实现前中后序遍历二叉树
目录 前置技能 需求描述 binarytree.h 具体实现 binarytree.cpp main.cpp 网上代码一搜一大片,大同小异咯. 书上的函数实现代码甚至更胜一筹,而且抄一遍就能用,唯一问 ...
- PAT(B) 1072 开学寄语(Java)统计
题目链接:1072 开学寄语 (20 point(s)) 题目描述 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使 ...
- Scala 类型参数
介绍 类型参数是什么?类型参数其实就类似于Java中的泛型.先说说Java中的泛型是什么,比如我们有List a = new ArrayList(),接着a.add(1),没问题,a.add(&quo ...
- dotnet Core学习之旅(序)
.NET Core 新玩具,新工具,新生产力 我将在博客园我从0.1开始探索.NET Core 的过程. 为什么是从0.1开始而不是从0开始 我在微软刚宣布开源的时候便接触到了.NET Core 1. ...