MySQL创建数据表 基本语法 数据值 列类型

猫斯基 32 2014-06-01

基本语法

--用用户名root密码root登陆本地数据库
mysql -h localhost -u root -p
root
--退出
exit
--查看默认配置变量
show variables;
--查看状态
s
--查看所有的库
show databases;
--创建数据库 mao
create database mao;
--如果不存在,则创建数据库 mao
create database if not exists mao;
--删除数据库 mao
drop database mao;
--如果存在,则删除数据库 mao
drop database if exists mao;
--使用数据库 mao
use mao;
--退出创建表
c
--查看表结构
desc mao;

DDL 创建数据表

表名必须小写,SQL语句大写

CREATE TABLE [IF NOT EXISTS] 表名(
	字段名1 列类型 [属性] [索引],
	字段名2 列类型 [属性] [索引],
	...
) [表类型] [表字符集];

数据值和列类型

数据值
	列类型
		数值型
			整型
				TINYINT		1字节	-128-127		0-225(无符号)
				SMALLINT	2字节	-32768-32767	0-65535(无符号)
				MEDIUMINT	3字节
				INT			4字节
				BIGINT		8字节
			浮点型
				FLOAT(M,D)		4字节	一共M位,小数点后面保留D位
				DOUBLE(M,D) 	8字节
			定点数
				DECIMAL(M,D)	M+2字节
		字符型
				CHAR(M)			默认255个字节,可指定M个字节	固定长度	 效率高
				VARCHAR(M)		255		可变长度
				TEXT			文本数据 2^16-1
					MEDIUMTEXT
					LONGTEXT
				BLOB			二进制数据:照片、电影、压缩包
					MEDIUMBLOB
					LONGBLOB
				ENUM			枚举 1或2字节
				SET				集合 1,2,3,4,8字节
		日期型	建议用整数INT保存时间
				DATE			YYYY-MM-DD
				TIME			hh:mm:ss
				DATETIME		YYYY-MM-DD hh:mm:ss
				TIMESTAMP		YYYYMMDDhhmmss
				YEAR			YYYY
	NULL

数据字段属性

1、unsigned 无符号属性,可以让空间增加一倍,即没有负数,只有正数。只能用在数值型字段里。

2、zerofill 前导0,自动补齐不足的位数。只能用在数值型字段里。自动应用unsigned

3、auto_increment 自动增长,数据每增加一条自动增加1,且不允许重复。只能是整数。

每个表都应该有一个ID字段,设置为自动增长。

3、NULLNOT NULL

建议:在创建表时,每个字段都不要插入NULL值,都设置成NOT NULL

4、default 设置默认值。

CREATE TABLE users(
	id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
	name VARCHAR(30) NOT NULL DEFAULT '',
	height DOUBLE(10,2) NOT NULL DEFAULT 0.00,
	age INT NOT NULL DEFAULT 0,
	sex CHAR(4) NOT NULL DEFAULT '男',
)

索引

1、主键索引 primary key,主要作用是确定数据库表里一条特定数据记录的位置。最好每一张数据表定义一个主键。一个表只能指定一个主键。主键的值不能为空。

2、唯一索引 unique,防止创建重复的值。每个表可以有多个唯一索引。

3、常规索引 indexkey,最重要的技术,可提高数据库的性能。

4、全文索引 fulltext,只能在表类型MyISAM里使用。只有在 char varchar text 这种文本字符串上使用。也可以多个数据列使用。

数据表类型及存储位置

MySQL有一个存储引擎,可以针对不同的存储需求,选择最优的存储引擎。

本文由 猫斯基 原创发布。

著作权均归用户本人所有。独家文章转载,请联系本站管理员。获得授权后,须注明本文地址! 本文地址:https://www.maosiji.com/2731.html