mysql建表

合集下载

oracle create table建表语句

oracle create table建表语句

oracle create table建表语句新的一年到了,无论是计算机初学者还是资深专业人士,应该都了解MySQL的建表语句,也就是CREATE TABLE句。

CREATE TABLE MySQL 中可以用于创建新的MySQL据库表,利用CREATE TABLE语句,可以定义各种不同的表,以满足我们的不同数据需求。

它是一种用于定义和修改数据表结构的语句。

什么是MySQL表?MySQL表是由特定类型的数据字段组成的。

每个字段都有一个名称和一个类型,字段的类型决定数据的大小和格式。

MySQL表中的每个字段(也称为列)都有一个名称和一个数据类型。

通过MySQL CREATE TABLE语句,我们可以定义表,指定字段名称和数据类型,以及字段可以限制的数据范围,例如最大值,最小值等。

MySQL CREATE TABLE句具有一下格式:CREATE TABLE名(字段1据类型 [完全性约束条件],字段2据类型 [完全性约束条件],…字段N据类型 [完全性约束条件]);从上面的 CREATE TABLE句的格式可以看出,它的语法由以下几部分组成:1、表名:这是在创建表时必须指定的一个唯一的名称,用于标识表,从而可以引用表中的数据。

2、字段:表中的每个字段都有其自己的名称和数据类型之分,字段名是用来表示表中每个记录的属性名称,数据类型决定了字段可以存储的数据类型以及其大小,例如字符串、数字等。

3、完整性约束:此类约束用于限制允许在表中存储的数据,以便确保数据的正确性和一致性。

常见的完整性约束有NOT NULL、UNIQUE、PRIMARY KEY。

STRUCTURE:MySQL CREATE TABLE句的结构示例:CREATE TABLE1(字段1据类型 [完全性约束条件],字段2据类型 [完全性约束条件],...字段N据类型 [完全性约束条件]);例如,我们可以用以下 CREATE TABLE句来创建一个示例表: CREATE TABLE employee(emp_id INT(4) NOT NULL,name VARCHAR(20) NOT NULL,salary DECIMAL(10,2) NOT NULL,dept_id INT(4));从上面的示例可以看出,CREATE TABLE句的格式是固定的,字段的类型也必须按要求定义,以便确保系统的正确运行。

mysql创建内存表的方法

mysql创建内存表的方法

mysql创建内存表的⽅法创建内存表⾮常的简单,只需注明 ENGINE= MEMORY 即可:复制代码代码如下:CREATE TABLE `tablename` ( `columnName` varchar(256) NOT NUL) ENGINE=MEMORY DEFAULT CHARSET=latin1 MAX_ROWS=100000000;注意:当内存表中的数据⼤于max_heap_table_size设定的容量⼤⼩时,mysql会转换超出的数据存储到磁盘上,因此这是性能就⼤打折扣了,所以我们还需要根据我们的实际情况调整max_heap_table_size,例如在.cnf⽂件中[mysqld]的下⾯加⼊:max_heap_table_size = 2048M另外在建表语句中还可以通过MAX_ROWS来控制表的记录数。

内存表使⽤哈希散列索引把数据保存在内存中,因此具有极快的速度,适合缓存中⼩型数据库,但是使⽤上受到⼀些限制,以下是蓝草使⽤的⼀些感受。

1、heap对所有⽤户的连接是可见的,这使得它⾮常适合做缓存。

2、仅适合使⽤的场合。

heap不允许使⽤xxxTEXT和xxxBLOB数据类型;只允许使⽤=和<=>操作符来搜索记录(不允许<、>、<=或>=);不⽀持auto_increment;只允许对⾮空数据列进⾏索引(not null)。

注:操作符 “<=>” 说明:NULL-safe equal.这个操作符和“=”操作符执⾏相同的⽐较操作,不过在两个操作码均为NULL时,其所得值为1⽽不为NULL,⽽当⼀个操作码为NULL时,其所得值为0⽽不为NULL。

3、⼀旦服务器重启,所有heap表数据丢失,但是heap表结构仍然存在,因为heap表结构是存放在实际数据库路径下的,不会⾃动删除。

重启之后,heap将被清空,这时候对heap的查询结果都是空的。

第二章MYSQL数据库与表的创建 (1)PPT课件

第二章MYSQL数据库与表的创建 (1)PPT课件

2.2.1 MYSQL中数值类型
第11页
★数据库技术与应用★
第二章 MYSQL数据库与表的创建
2.2.1 MYSQL中数值类型-说明
❖ 整数类型支持INT(n)形式,用于指定整数值的显示宽度,如显示宽度小于n时从左侧填满宽度。 显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。当结合 可选扩展属性ZEROFILL使用时, 默认补充的空格用零代替。例如,对于声明为INT(5) ZEROFILL 的列,值4检索为00004。
❖ BIT数据类型可用来保存位(二进制数)字段值。如果为BIT(M)列分配的值的长度小于M位,在值的 左边用0填充。例如,为BIT(6)列分配一个值b‘101’,其效果与分配b‘000101’相同。
❖ 整数类型有一个属性:AUTO_INCREMENT,用于定义自动增长字段。每增加一行增加1。一个表最 多只能定义一个AUTO_INCREMENT列,应定义为NOT NULL,并定义为PRIMARY KEY或UNIQUE。
2.2 MYSQL数据类型
在开始创建表之前,必须了解表中字段可以选择的数据 类型(即域定义),使得字段使用合理的数据类型,从而有 效提高数据库的性能:存储空间小、查询速度快。
❖2.2.1 数值类型 ❖2.2.2 日期时间类型 ❖2.2.3 字符串类型
第10页
★数据库技术与应用★
第二章 MYSQL数据库与表的创建
❖ 所有整数类型可以有一个可选(非标准)属性UNSIGNED。在列内只允许非负数和该列需要较大的上 限数值范围时可以使用无符号值。如果为一个数值列指定ZEROFILL,MySQL自动为该列添加 UNSIGNED属性。
❖ MYSQL小数有两种方式:浮点数和定点数。浮点数包括float、double,为近似数据类型。定点数 只有decimal,用于保存必须为确切精度的值,例如货币数据。

mysql float 长度与小数点 建表

mysql float 长度与小数点 建表

mysql float 长度与小数点建表(原创实用版)目录1.MySQL 浮点数类型介绍2.浮点数类型的长度与小数点3.创建表时如何设置浮点数类型的长度与小数点4.实例:创建一个包含浮点数类型的表正文【MySQL 浮点数类型介绍】MySQL 中有两种浮点数类型:FLOAT 和 DOUBLE。

它们都用于表示带有小数部分的数字。

FLOAT 类型用于表示单精度浮点数,而 DOUBLE 类型用于表示双精度浮点数。

【浮点数类型的长度与小数点】在 MySQL 中,FLOAT 类型的长度为 4 个字节,而 DOUBLE 类型的长度为 8 个字节。

长度指的是占用的存储空间。

另外,小数点后的位数决定了浮点数可以表示的精度。

例如,如果设置为 1 位小数,那么可以表示的最大精度为 0.1;如果设置为 2 位小数,那么可以表示的最大精度为 0.01,以此类推。

【创建表时如何设置浮点数类型的长度与小数点】在创建表时,可以通过以下方式设置浮点数类型的长度与小数点。

例如,如果想创建一个 FLOAT 类型的列,长度为 5 位小数,可以这样写:```CREATE TABLE table_name (column_name FLOAT(5, 2));```这里的`5`表示长度,`2`表示小数点后的位数。

【实例:创建一个包含浮点数类型的表】现在,我们创建一个名为`students_scores`的表,其中包含学生的ID 和成绩。

成绩使用 FLOAT 类型,长度为 2 位小数。

```sqlCREATE TABLE students_scores (id INT PRIMARY KEY,score FLOAT(2));```这样,我们就创建了一个包含浮点数类型的表,并且设置了长度为 2 位小数。

excel转mysql建表语句

excel转mysql建表语句

excel转mysql建表语句Excel表格中的数据可以通过转换成MySQL建表语句的形式存入数据库中,具体步骤如下:1. 在Excel表格中,选中需要转换的数据,包括表头和数据,复制到新的文本文件中,例如txt或csv格式。

2. 打开MySQL数据库,创建新的数据库或选择已有数据库。

3. 在创建好的数据库中,选择“SQL”选项卡,在输入框中输入以下语句:CREATE TABLE `表名` (`字段1` 类型,`字段2` 类型,…`字段n` 类型)其中,表名为需要创建的表格的名称,字段1至字段n为需要创建的字段名称和对应的数据类型,例如:CREATE TABLE `学生信息` (`学号` int(11),`姓名` varchar(50),`性别` varchar(10),`年龄` int(11),`班级` varchar(50))4. 将第一步中复制的数据,粘贴到新的输入框中,例如:INSERT INTO `学生信息` (`学号`, `姓名`, `性别`, `年龄`, `班级`) VALUES(1, '张三', '男', 18, '一班'),(2, '李四', '女', 19, '二班'),(3, '王五', '男', 20, '三班')其中,学生信息为表格名称,学号、姓名、性别、年龄、班级为表格中的字段名称,后面的值为对应的具体数据。

5. 点击“执行”按钮,保存建表语句和数据到数据库中。

需要注意的是,不同的数据类型对应不同的MySQL数据类型,例如:整型为int或bigint浮点型为float或double字符型为varchar或text日期型为datetime或timestamp等。

另外,建议在创建表格时设置主键和索引,以提高查询效率。

数据库转换Mysql-Oracle之建表语句

数据库转换Mysql-Oracle之建表语句

数据库转换Mysql-Oracle之建表语句Mysql建库语句(导出的):DROP TABLE IF EXISTS `tablename`;CREATE TABLE `tablename` (`C_DI_CDE` varchar(40) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,/*Mysql添加注释⽅法:在创建字段后直接填写COMMENT '注释内容'*/`C_PATER_CDE` varchar(40) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT ' ⽗代码',`C_NAME` varchar(200) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT ' 名称',`C_DESCRIBE` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT '0' COMMENT ' 描述',`C_STATE` varchar(10) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT '0' COMMENT ' 状态',PRIMARY KEY (`C_DI_CDE`),/*MySQL中的KEY为键的含义和索引定义相同,是索引约束,即主键外键也是索引的⼀种,故Unique KEY表⽰唯⼀性索引*/UNIQUE KEY `PK_WEB_BAS_DIC_DT` (`C_DI_CDE`) USING BTREE,KEY `IDX_WEB_BAS_DIC_DT_C_DICT_TYPE` (`C_DICT_TYPE`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='CLM_C_DICD_DATAS';备注:表名和表字段上的符号不是单引号⽽是tab键上⾯的那个键的英⽂状态下的符号,加或不加都可以,在表字段名为关键字是需要加该符号防⽌与关键字冲突⽽建表失败。

MySQL数据库建表实例

项目名称:超市商品管理系统
项目功能:
1.入库表、出库表、供应商表、营业员表、销售表的录入和储存;
2.按照用销售表的要求出各个商品的销售额以及所有商品的销
售总额单;
3.按照用入库表的要求出各个商品的进价额单;
4.由供应商表、入库表生成商品所属供应商表;
5.生成商品盈利表;
6.生成商品表。

1、创建GYSB(供应商信息表)
2.使用序列的SQL语句对表GYSB插入数据。

3-为GYSB表创建名为GYSB_view的视图。

-
4为GYSB表的GYSBH,NAME字段创建索引。

---
4根据营业员编号(GYSBH_no)创建一个查询GYSB表,查询供应商的姓名(NAME)的过程。

因为网卡问题,只下载了一个Oracle例子,后面不会,没弄完。

mysqlint类型的长度值mysql在建表的时候int类型后的长度代表什么

mysqlint类型的长度值mysql在建表的时候int类型后的长度代表什么详解mysql int类型的长度值 mysql在建表的时候int类型后的长度代表什么是该列允许存储值的最⼤宽度吗为什么我设置成int(1), 也⼀样能存10,100,1000呢. 当时我虽然知道int(1),这个长度1并不代表允许存储的宽度,但却没有⼀个合理的解释. 或者说对这个长度也没有真正的研究过到底代表什么, 平时都⽤int(11), 也不知道为什么要11位. 所以我在⽹上查阅了⼀些资料, 也仔细的看了mysql⼿册关于int data type的说法. 以下是每个整数类型的存储和范围(来⾃mysql⼿册) 类型 字节 最⼩值 最⼤值 (带符号的/⽆符号的) (带符号的/⽆符号的) TINYINT 1 -128 127 0 255 SMALLINT 2 -32768 32767 0 65535 MEDIUMINT 3 -8388608 8388607 0 16777215 INT 4 -2147483648 2147483647 0 4294967295 BIGINT 8 -9223372036854775808 9223372036854775807 0 18446744073709551615 表格⼀共有四列分别表式:字段类型, 占⽤字节数, 允许存储的最⼩值, 允许存储的最⼤值. 我们拿int类型为例: int类型, 占⽤字节数为4byte, 学过计算机原理的同学应该知道, 字节(byte)并⾮是计算机存储的最⼩单位, 还有⽐字节(byte)更⼩的单位, 也就是位(bit),⼀个位就代表⼀个0或1; 8个位组成⼀个字节; ⼀般字节⽤⼤写B来表⽰byte, 位⽤⼩写b来表⽰bit. 计算机存储单位的换算: 1B=8b 1KB=1024B 1MB=1024KB 那么根据int类型允许存储的字节数是4个字节, 我们就能换算出int UNSIGNED(⽆符号)类型的能存储的最⼩值为0, 最⼤值为4294967295(即4B=32b, 最⼤值即为32个1组成); 接下来我们再说说我们建表时的字段长度到底是怎么⼀回事. CREATE TABLE `test` (`id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,`number` INT( 5 ) NOT NULL) ENGINE = MYISAM ; 以test表的number字段为例, ⼤家看到我建的是int(5)990x58 mysql⼿册中这个长度/值⽤"M"来表⽰的. 细⼼的朋友应该有注意到过mysql⼿册上有这么⼀句话: M指⽰最⼤显⽰宽度。

Mysql及SQLyog建表说明

mysql数据类型及sqlyog中属性值的含义MySQL数据库的表是一个二维表,由一个或多个数据列构成。

每个数据列都有它的特定类型,该类型决定了MySQL如何看待该列数据,我们可以把整型数值存放到字符类型的列中,MySQL则会把它看成字符串来处理。

MySQL中的列类型有三种:数值类、字符串类和日期/时间类。

从大类来看列类型和数值类型一样,都是只有三种。

但每种列类型都还可细分。

下面对各种列类型进行详细介绍。

数值类的数据列类型数值型的列类型包括整型和浮点型两大类。

TINYINT:1字节非常小的正整数,带符号:-128~127,不带符号:0~255SMALLINT:2字节小整数,带符号:-32768~32767,不带符号:0~65535MEDIUMINT:3字节中等大小的整数,带符号:-8388608~8388607,不带符号:0~16777215 INT:4字节标准整数,带符号:-2147483648~2147483647,不带符号:0~4294967295 BIGINT:8字节大整数,带符号:-08~07,不带符号:0~615FLOAT:4字节单精度浮点数,最小非零值:+-1.175494351E-38,最大非零值:+-3.402823466E+38DOUBLE:8字节双精度浮点数,最小非零值:+-2.72014E-308,最大非零值:+-1.23157E+308DECIMAL:M+2字节以字符串形式表示的浮点数,它的取值围可变,由M和D的值决定。

整型数据列类型MySQL有五种整型数据列类型,即TINYINT,SMALLINT,MEDIUMINT,INT和BIGINT。

它们之间的区别是取值围不同,存储空间也各不相同。

在整型数据列后加上UNSIGNED属性可以禁止负数,取值从0开始。

声明整型数据列时,我们可以为它指定个显示宽度M(1~255),如INT(5),指定显示宽度为5个字符,如果没有给它指定显示宽度,MySQL会为它指定一个默认值。

Mysql及SQLyog建表说明

mysql数据类型与sqlyog中属性值的含义MySQL数据库的表是一个二维表,由一个或多个数据列构成。

每个数据列都有它的特定类型,该类型决定了MySQL如何看待该列数据,我们可以把整型数值存放到字符类型的列中,MySQL则会把它看成字符串来处理。

MySQL中的列类型有三种:数值类、字符串类和日期/时间类。

从大类来看列类型和数值类型一样,都是只有三种。

但每种列类型都还可细分。

下面对各种列类型进行详细介绍。

数值类的数据列类型数值型的列类型包括整型和浮点型两大类。

TINYINT:1字节非常小的正整数,带符号:-128~127,不带符号:0~255 SMALLINT:2字节小整数,带符号:-32768~32767,不带符号:0~65535 MEDIUMINT:3字节中等大小的整数,带符号:-8388608~8388607,不带符号:0~16777215 INT:4字节标准整数,带符号:-2147483648~2147483647,不带符号:0~4294967295 BIGINT:8字节大整数,带符号:-08~07,不带符号:0~615 FLOAT:4字节单精度浮点数,最小非零值:+-1.175494351E-38,最大非零值:+-3.402823466E+38 DOUBLE:8字节双精度浮点数,最小非零值:+-2.72014E-308,最大非零值:+-1.23157E+308 DECIMAL:M+2字节以字符串形式表示的浮点数,它的取值围可变,由M和D的值决定。

整型数据列类型MySQL 有五种整型数据列类型,即TINYINT,SMALLINT,MEDIUMINT,INT和BIGINT。

它们之间的区别是取值围不同,存储空间也各不相同。

在整型数据列后加上UNSIGNED属性可以禁止负数,取值从0开始。

声明整型数据列时,我们可以为它指定个显示宽度M(1~255),如INT(5),指定显示宽度为5个字符,如果没有给它指定显示宽度,MySQL会为它指定一个默认值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

主题:mysql:入门如何创建一个数据库和数据库表
作者:huaxia11 发表时间:2010-8-6 22:13:00
楼主
了解了一些最基本的操作命令后,我们再来学习如何创建一个数据库
和数据库表


1、使用SHOW语句找出在服务器上当前存在什么数据库:
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql|
| test |
+----------+
3 rows in set (0.00 sec)

2、创建一个数据库abccs
mysql> CREATE DATABASE abccs;
注意不同操作系统对大小写的敏感。

3、选择你所创建的数据库
mysql> USE abccs
Database changed
此时你已经进入你刚才所建立的数据库abccs.

4、 创建一个数据库表
首先看现在你的数据库中存在什么表:
mysql> SHOW TABLES;
Empty set (0.00 sec)
说明刚才建立的数据库中还没有数据库表。下面来创建一个数据
库表

mytable:
我们要建立一个你公司员工的生日表,表的内容包含员工姓名、
性别、出生

日期、出生城市。
mysql> CREATE TABLE mytable (name VARCHAR(20), sex CHAR
(1),
-> birth DATE, birthaddr VARCHAR(20));
Query OK, 0 rows affected (0.00 sec)
由于name、birthadd的列值是变化的,因此选择VARCHAR,其
长度不一定是20

。可以选择从1到255的任何长度,如果以后需要改变它的字长,可以
使用ALTER

TABLE语句。);
性别只需一个字符就可以表示:"m"或"f",因此选用CHAR(1);
birth列则使用DATE数据类型。

创建了一个表后,我们可以看看刚才做的结果,用SHOW TABLES
显示数据库中

有哪些表:
mysql> SHOW TABLES;
+---------------------+
| Tables in menagerie |
+---------------------+
| mytables|
+---------------------+

5、显示表的结构:
mysql> DESCRIBE mytable;
+-------------+-------------+------+-----+---------+---
----+
| Field | Type| Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+---
----+
| name| varchar(20) | YES | | NULL| |
| sex | char(1) | YES | | NULL| |
| birth | date| YES | | NULL| |
| deathaddr | varchar(20) | YES | | NULL| |
+-------------+-------------+------+-----+---------+---
----+
4 rows in set (0.00 sec)

6、 往表中加入记录
我们先用SELECT命令来查看表中的数据:
mysql> select * from mytable;
Empty set (0.00 sec)
这说明刚才创建的表还没有记录。
加入一条新记录:
mysql> insert into mytable
-> values ('abccs','f','1977-07-07','china');
Query OK, 1 row affected (0.05 sec)
再用上面的SELECT命令看看发生了什么变化。

我们可以按此方法一条一条地将所有员工的记录加入到表中。
7、用文本方式将数据装入一个数据库表
如果一条一条地输入,很麻烦。我们可以用文本文件的方式将所
有记录加入

你的数据库表中。
创建一个文本文件“mysql.txt”,每行包含一个记录,用定位符
(tab)把值

分开,并且以在
CREATE TABLE语句中列出的列次序给出,例如:

abccs f 1977-07-07 china
mary f 1978-12-12 usa
tom m 1970-09-02 usa

使用下面命令将文本文件“mytable.txt”装载到mytable表中:

mysql> LOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE
pet;

再使用如下命令看看是否已将数据输入到数据库表中:
mysql> select * from mytable;

往表里面添加列
alter table 表名 add column 列名 属性;
删除列
alter table 表名 drop column 列名;

相关文档
最新文档