数据库建表语句

嘿嘿,你问这个了。
上周,一位同事刚开始工作,听到“CREATETABLE”这个词时感到很困惑。
我帮他查了一下,发现很有趣。
让我告诉你这一点。

基本结构如下: CREATE TABLE TABLE NAME (Field 1 data type (length) [non-blank] [index], Field 2 data type (length) [non-blank] [index], ...)
例如,如果你想创建一个用户表,它可能看起来像这样: SQL 创建表用户( 标识符不为NULL AUTO_INCRMENT, 用户名 VARCHAR(5 0) 不为空, 电子邮件 varchar(1 00), create_at 日期时间不为空 );
看,我在这里: 1 .users是表的名称,可以随意选择。
2 .标识符是整数类型(INT),不能为空(不能为NULL),必须递增(AUTO_INCRMENT,这是MySQL,其他数据库可能称为SERIAL或类似),通常是主键。
3 . 用户名是变长字符串(VARCHAR(5 0)),不能为空。
4 . Email也是一个变长字符串(VARCHAR(1 00))并且可以为空。
有时电子邮件是唯一的,您也可以添加唯一的。
5 .create_at是日期时间类型(DATETIME),不能为空。

至于数据类型,您提到的几点是绝对正确的:
整数类型:INT、SMALLINT 和 TINYINT,它们存储整数。
INT一般来说已经足够了,而且范围也足够大。
TINYINT非常小,为8 位,可以存储从-1 2 8 到1 2 7 的整数。
小数类型:DECIMAL 或 NUMERIC。
这个比较稳定,适合金融计算。
它不会像 FLOAT 或 DOUBLE 那样遭受分辨率损失。
括号中的两个数字,第一个是总位数,第二个是小数点后的位数。
例如DECIMAL(1 0, 2 )共1 0位,小数点后两位,最多可存储9 9 9 9 9 9 9 9 .9 9 链条类型: CHAR(length):固定长度,无论你保存多少个字符,都会占用该空间。
例如,如果CHAR(1 0)存储“hello”,它将在内存中添加7 个空格,成为“hello”。
有点奢侈,不过现在用得少了。
VARCHAR(length):可变长度,只占用空间存储实际内容加上长度标识符。
上例中的用户名是VARCHAR(5 0),“admin”存储只占用5 个空格。
日期类型:DATE(保存年月日,如'2 02 3 -1 0-2 7 '),DATETIME(年月日时分秒,'2 02 3 -1 0-2 7 1 4 :3 0:00'),TIMESTAMP(时间戳,代表操作系统时间,范围和准确性有限)。

索引也很重要。
我提到了索引1 、索引2 、多字段索引,简单来说: Not Empty:强制该列不存储空值,以保证数据完整性。
你只能在字段中添加 NOT NULL 一次,否则编译器会责骂你。
单字段索引:最常见的是给特定字段添加索引,比如用户名或者邮箱,常用于验证。
添加索引可以使其速度更快。
例如,创建 INDEX idx_username ON users(username);。
添加索引后,数据库将在 Users 表中的 Username 列旁边创建一个附加索引文件。
查询时,直接进入索引文件,无需检查整个表。
多字段索引:是组合索引。
例如,如果要同时按用户名和电子邮件查询用户,则可以创建复合索引。
在用户上创建索引 idx_user_email(用户名,电子邮件);请注意,索引的顺序很重要。
通常首先放置具有高选择性(更独特的值)的色谱柱。

您所说的创建表...插入...是正确的。
您可以先使用 CREATE TABLE 创建一个空子表,并选择所有字段,然后使用 INSERT INTO 向其中插入数据。
这在临时开发或进度操作中很常见。

哦,对了,还有一件事,CHAR和VARCHAR的size参数,就是指定最大长度;对于DECIMAL,是位数和小数位数的总数;对于大文本或二进制类型(例如 BLOB 和 TEXT),大小或长度是指存储字节的最大长度。

也许就是这样。
如果这条语句用得好,数据库表结构的设计就成功了一半。
然而,索引并不是偶然添加的。
如果添加太多索引,维护成本会很高。
有时查询会变慢。
这取决于具体情况。
您只需要先了解这些基本用途即可。

mysql中创建表的命令是什么 建表语句完整写法

这是一个陷阱,不要相信,不要做。