mysql创建表

mysql创建表的简单例子

假如想象 提交于 2019-12-30 17:39:10
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 创建一个简单的商品表: CREATE TABLE `goods` ( `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT '商品ID', `name` char(32) NOT NULL COMMENT '商品名称', `created_at` char(19) NOT NULL COMMENT '商品创建时间', `updated_at` char(19) NOT NULL COMMENT '商品更新时间', `cover` varchar(100) NOT NULL DEFAULT '' COMMENT '商品封面链接地址', `stock_count` int DEFAULT 0 COMMENT '商品库存', PRIMARY KEY (`id`) ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4; 来源: oschina 链接: https://my.oschina.net/u/3223370/blog/3150979

神奇的 SQL 之 联表细节 → MySQL JOIN 的执行过程(二)

淺唱寂寞╮ 提交于 2019-12-30 09:25:12
开心一刻   一头母牛在吃草,突然一头公牛从远处狂奔而来说:“快跑啊!!楼主来了!”   母牛说:“楼主来了关我屁事啊?”   公牛急忙说:“楼主吹牛逼呀!”   母牛大惊,拔腿就跑,边跑边问:“你是公牛你怕什么啊?”   公牛无奈道:“现在的楼主不仅吹牛逼,还扯蛋!”   然后小牛也在跟着跑,公牛和母牛问:“儿子你跑什么呢?”   小牛说:“楼主还扯犊子啊” 前情回顾    神奇的 SQL 之 联表细节 → MySQL JOIN 的执行过程(一) 中,我们讲到了 JOIN 的部分内容,像:驱动表、JOIN 大致流程等。什么,还没看?赶紧去看呀,啊? 你都知道呀,那你走吧   走就走,你把欠的内容还上我就走;我欠什么了? 我欠,我欠... 我好像是欠点东西     1、BKA(Batched Key Access)     2、ON 和 WHERE   请各位坐好,我要开始表演了 环境准备   数据库: MySQL 5.7 . 1   存储引擎: InnoDB   建表和初始化数据 -- 查看版本和存储引擎 SELECT VERSION(); SHOW ENGINES; SHOW VARIABLES LIKE '%storage_engine%'; -- 表创建与数据初始化 DROP TABLE IF EXISTS tbl_user; CREATE TABLE tbl_user (

mysql 主从单库单表同步 binlog-do-db replicate-do-db

限于喜欢 提交于 2019-12-27 17:38:59
方案一:两边做主从。 SELECT SUM(DATA_LENGTH)+SUM(INDEX_LENGTH) FROM information_schema.tables WHERE TABLE_SCHEMA='(数据库名大小为K除去1048576为M)';查看库容量 SELECT TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS FROM information_schema.tables WHERE TABLE_SCHEMA='' AND TABLE_NAME=''; lqc_msg = 16651450340 =15,880M 导出来13G 16708081764 SHOW TABLE STATUS; 查看自增IP 导出数据库: mysqldump -uroot -p'' --single-transaction --events --triggers --routines --flush-logs --master-data=2 --databases | gzip > /mnt/l.sql.gz 复制数据 rsync -a /mnt/lqc_msg.sql.gz root@:/data/ 导入数据库: mysqldump -uroot -p data < /data/lqc.sql & SELECT SUM(DATA_LENGTH)

数据库应用_表结构_键值

久未见 提交于 2019-12-27 10:01:55
随笔结构:1.数据导入导出; 2.管理表格的记录; 3.数据的匹配条件. 一,数据的导入与导出 * mysql默认的导入导出路径为/var/lib/mysql-files/ * 定义路径的变量名secure_file_priv * 修改路径的方式:1).创建目录mkdir /myfile; 2).赋权chown mysql /myfile; 3).将secure_file_priv写入配置文件/etc/my.cnf; 4).重启服务; 5).进入数据库使用show variables like "%secure_file_priv%"查看路径是否修改成功. 1.导入数据 例:将/etc/passwd文件内容导入db3库下的user表,并添加行号字段. 思路:建库db3->建表user->导入数据->为表格添加id号 1.1 建库 create database db3; 1.2. 建表 1.3. 导入数据:mysql>load data infile “/var/lib/mysql-files/” into table db3.user fields terminated by “:” lines terminated by “\n”; 1.4. 为表格添加id号: alter table user add id primary key auto_increment first;

MySql 建表、添加字段、修改字段、添加索引SQL语句写法

五迷三道 提交于 2019-12-26 07:49:09
建表: DROP TABLE IF EXISTS bulletin; CREATE TABLE bulletin( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, # 主键 uid INT(11) NOT NULL DEFAULT 0, # 创建者id context VARCHAR(600) NOT NULL DEFAULT '', # 公告详细内容(300字) begintime DEC(20) NOT NULL DEFAULT 0, # 公告开始时间 endtime DEC(20) NOT NULL DEFAULT 0, # 公告结束时间 createtime DEC(20) NOT NULL DEFAULT 0, # 创建时间 modifytime DEC(20) NOT NULL DEFAULT 0 # 修改时间 PRIMARY KEY (`Id`), )DEFAULT CHARSET=UTF8 TYPE=INNODB; 修改原有字段名称及类型: ALTER TABLE bulletin CHANGE uid username VARCHAR(50) NOT NULL DEFAULT ''; 添加新字段: alter table bulletin add citycode varchar(6) not null default 0;

Mysql 表类型

天大地大妈咪最大 提交于 2019-12-26 03:46:00
MySQL为我们提供了很多表类型供选择,有MyISAM、ISAM、HEAP、BerkeleyDB、InnoDB,MERGE表类型, 萝卜白菜各有所爱是不假,可是真正选择何种表类型还是要看业务需要啊 ,每一种表类型都有其自己的属性和优点。下面我们来简单的讨论一下。 MyISAM表类型: MyISAM表(TYPE=MYISAM)是ISAM类型的一种延伸,具有很多优化和增强的特性。 是MySQL的默认表类型。 MyISAM优化了压缩比例和速度,并且可以很方便的在不同的操作系统和平台之间进行移植。 MyISAM支持大表文件(大于4G) 允许对BLOB和TEXT列进行索引 支持使用键前缀和使用完整的键搜索记录 表数据和表索引文件可以依存在不同的位置,甚至是不同的文件系统中。 即使是具有相当多的插入、更新和删除操作的表,智能防碎片逻辑也能保证其高性能的协作性。 ISAM表类型: ISAM表(TYPE=ISAM)和MyISAM表相似,但是其没有MyISAM格式的很多增强性能,因而不能像MyISAM类型那样提供很好的优化和执行效率。因为 ISAM索引不能被压缩 ,它比在MyISAM中的相同索引战胜较少的系统资源。 ISAM索引需要较多的磁盘空间 ,这对于像本站的这种小型环境很是问题。呵呵。 和MyISAM一样,ISAM表可以是固定长度的,也可以是可变长度的,但是其格式的最大键长度比较小,

mysql数据库单表增删改查命令

孤人 提交于 2019-12-25 04:49:32
数据库 DB-database-mysql 课程安排 第一天: 1. 数据库定义以及设计 2.mysql 服务端的安装 3.mysql-dos 操作 库的操作 表的操作 4.mysql 客户端 navicate 工具的安装及使用 5. 建表 第二天 单表语句的查询 -select 第三天 多表语句的查询 等值连接 内连接 嵌套 外连接 第四天 增加、删除、修改 增删改查 数据库测试关注点 扩展数据库的高级知识 1. 性能测试 2.sql 注入 安全测试 3. 数据库连接测试 4. 数据库事务测试 5. 存储过程 第一天 数据库定义以及设计 什么是数据库 按照数据结构来组织、存储、管理数据的仓库 数据库的作用 存储管理数据 目标 1. 熟练掌握 sql 结构化查询语言 (structed query language) 语句 2. 拓展测试深度:将数据库和功能测试联系到一起 不仅测试界面可以看到的数据 还可以看到界面不可以看到的数据 数据库产品分类 数据库名称 所属公司 是否免费开源 支持平台 适用项目 port 端口号 (面试) mysql 甲骨文 是 windows 和 linux 大型,中型 / 互联网 3306 sqlserver 微软 否 windows 中小型 / 传统 1433 oracle 甲骨文 否 windows 和 linux 大型 / 金融 1521

MySQL中数据表的基本操纵

寵の児 提交于 2019-12-19 09:14:01
本文基于对国家863中部软件孵化器编著的《MySQL从入门到精通》一书的操作实践。 一、创建数据表 数据表属于数据库,在创建数据表之前,应该使用语句 USE 数据库名 指定操作是在那个数据库中进行。 创建数据表的语句为CREATE TABLE ,语法规则如下: 1 CREATE TABLE 表名 2 ( //为括号 3 字段名1 数据类型 [列级别约束条件] [默认值], 4 字段名1 数据类型 [列级别约束条件] [默认值], 5 ...... 6 [表级约束条件] 7 ); //要有分号 使用CREATE TABLE 创建表时,要注意一下几点: (1)要创建表名,不区分大小写,不能使用SQL语言中的关键字,如DROP、ALTER等; (2)数据表中每一个字段的名称和数据类型,如果要创建多个,要用逗号隔开。 1、主键约束 主键,又称主码,是表中一列或者多列的组合。主键约束(Primary Key Constraint)要求主键列的数据唯一,并且不允许为空。主键能够唯一标识表中的一条记录,可以结合外键来定义不同数据表之间的关系,并且可以加快数据库查询的速度。主键和记录之间的关系如同身份证和人之间的关系,它们之间一一对应。主键分为两种类型:单字段主键和多字段联合主键。 (1)单字段主键 a)在定义列的同时指定主键,语法规则如下: 字段名 数据类型 PRIMARY KEY [默认值]

mysql 查询优化杂谈

醉酒当歌 提交于 2019-12-19 05:25:32
  在数据库中,对性能影响最大的包括数据库的锁策略、缓存策略、索引策略、存储策略、执行计划优化策略。 索引策略决定数据库快速定位数据的效率,存储策略决定数据持久化的效率。 一。索引注意事项 1.索引不存储null值。 更准确的说,单列索引不存储null值,复合索引不存储全为null的值。索引不能存储Null,所以对这列采用is null条件时,因为索引上根本 没Null值,不能利用到索引,只能全表扫描。 为什么索引列不能存Null值? 因为将索引列值进行建树,其中必然涉及到诸多的比较操作。 2.不适合键值较少的列(重复数据较多的列)。 假如索引列TYPE有5个键值,如果有1万条数据,那么 WHERE TYPE = 1将访问表中的2000个数据块。 再加上访问索引块,一共要访问大于2000个的数据块。 如果全表扫描,假设10条数据一个数据块,那么只需访问1000个数据块,既然全表扫描访问的数据块 少一些,肯定就不会利用索引了。 3.前导模糊查询不能利用索引(like '%XX'或者like '%XX%') 假如有这样一列code的值为'AAA','AAB','BAA','BAB' ,如果where code like '%AB'条件,由于前面是 模糊的,所以不能利用索引的顺序,必须一个个去找,看是否满足条件。这样会导致全索引扫描或者全表扫 描。如果是这样的条件where code

MariaDB 创建表

ⅰ亾dé卋堺 提交于 2019-12-19 04:09:24
在本章中,我们将学习如何创建表。 在创建表之前,首先确定其名称,字段名称和字段定义。 以下是表创建的一般语法: CREATE TABLE table_name (column_name column_type); 查看在PRODUCTS数据库中创建表所使用的命令 - databaseproducts_ tbl( product_id INT NOT NULL AUTO_INCREMENT, product_name VARCHAR(100) NOT NULL, product_manufacturer VARCHAR(40) NOT NULL, submission_date DATE, PRIMARY KEY ( product_id ) ); 上述示例使用“NOT NULL”作为字段属性,以避免由空值导致的错误。 属性“AUTO_INCREMENT”指示MariaDB将下一个可用值添加到ID字段。 关键字主键将列定义为主键。 多个列以逗号分隔可以定义主键。 创建表的两个主要方法是使用命令提示符和PHP脚本。 命令提示符 使用CREATE TABLE命令执行任务,如下所示 - root@host# mysql -u root -p Enter password:******* mysql> use PRODUCTS; Database changed mysql> CREATE