MySQL创建数据表
* 创建数据表
*
*
* 一、什么是数据表
*
*
*
* 二、创建数据表的SQL语句模型
*
* DDL
*
* CREATE TABLE [IF NOT EXISTS] 表名称(
* 字段名1 列类型 [属性] [索引]
* 字段名2 列类型 [属性] [索引]
* ...
* 字段名n 列类型 [属性] [索引]
* ) [表类型] [表字符集];
*
* 表名称和字段名 需要我们自己定义名称
*
* users
* articles
*
* SQL是不区分大小写的, 但是表就是一个文件名, Windows不区分大小写,Linux区分大小写
* 1. 一定要有意义(英文或英文组合和多个单词的缩写)
* 2.自己定的名称最好都小写
* 3. SQL 语句都大写
*
*
*
*
* 三、数据值和列类型
*
* 细分都是按空间大小来区分的
*
* 可以存下就可以
*
* 1、数值型
* 整型(整数)
* 非常小的整型 1字节 -128--127 0-- 255(无符号) TINYINT
* 较小的整型 2字节 -32768--32767 0---65535 SMALLINT
* 中等大小的整型 3字节 0---16777215 MEDIUMINT
* 标准的整数型 4字节 -2147483648--- 2147483647 INT
* 大整数型 8字节 BIGINT
* 浮点型(小数)
* float(M,D) 4字节
* double(M,D) 8字节
* 定点数
* decimal(M, D) M+2字节
*
* 2、字符型
* “mysql” 'mysql' \
* char(m) 255 固定长度
* varchar(m) 255 可变长度
*
* char(4) varchar(4)
* '' 4 '' 1字节
* 'ab' 4 'ab' 3字节
* 'abcd' 4 'abcd' 5字节
* 'abcdefg'4 'abcdefg'5字节
*
* text 文本数据 (文章) 2 16- 1
*
* MEDIUMTEXT
* LONGTEXT
* blob 二进制数据 (相片)
* MEDIUMBLOB
* LONGBLOB
*
* ENUM 枚举 1或2字节
*
* ENUM("one", "two", "three", "four") --- 65535, 一次只能有一个值
*
* SET 集合 1,2,3,4,8字节 --- 64 一次可以用多个集合中的值,中间使用”,“分开
*
*
* 3、日期型
*
* DATE YYYY-MM-DD
* TIME hh:mm:ss
* DATETIME YYYY-MM-DD hh:mm:ss
* TIMESTAMP YYYYMMDDhhmmss
*
* YEAR YYYY
*
* 创建表时最好不要使用这些中的时间格式(PHP中时间戳 1970-1-1 0:0:0)是一整数
*
* 用整数保存时间 time();
*
* int
*
* 四、数据字段属性
* 1. unsigned 可以让空间增加一倍 -128-127 0-255
*
* 只能用在数值型字段
*
* 2. zerofill
*
* 只能用在数值型字段, 前导0
*
* 该字段自动应用UNSIGNED
*
* 3. AUTO_INCREMENT
* 只能是整数, 数据每增加一条就会自动增1, 字段的值是不充许重复
*
* NULL 0 留空
*
* 每个表都最好有一个ID字段,设置为自动增涨, auto_increment
*
* 4. NULL 和 NOT NULL
*
* 默认是空
*
* NULL 值
*
* 将来将这个表的数据转为PHP程序的数据时, 整数列有NULL 转成0吗 字符串NULL PHP '' 0.00
*
* 建议: 在创建表时每个字段都不要插入NULL
*
*
* not null
*
* 5 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. 主键索引
* 主要作用是确定数据库表里一条特定数据记录的位置
*
* 最好为每一张数据表定义一个主键
*
* 一个表只能指定一个主键
*
* 主键的值不能为空
*
*
* 2. 唯一索引
* 都可以防止创建重复的值
*
* 每个一表都可以有多个唯一索引
*
* unique
*
*
*
* 3. 常规索引
*
* 最重要的技术
*
* 提升数据库的性能
*
* 11111111111
* 22222222222
* 3333333333333
* 44444444444444
* 55555555555
* .。。。
* 101010100101011
*
* 索引顺序 5层 软件 PHP 《细说PHP》 书店
*
* 可以提高查找的速度, 减慢数据列上插入,删除, 修改
*
* 和表一样是独立的数据对象
*
* 可以单独使用
*
* 也可在创建表时创建
*
* index key 是同义词
*
* 多列都可以,
*
*
* 4. 全文索引
*
* fulltext类型索引, MyISAM 表类型使用, 只有在varchar char text文本字符串上使用
*
* 也可以多个数据列使用
*
* create table books(
* id int,
* bookname varchar(30),
* price double,
* detail text not null,
* fulltext(detail, bookname),
* index ind(price),
* primay key(id));
*
* select * from books where bookname like '%php%';
*
* select bookname, price from books where MATCH(detail) AGAINST('php');
*
* select match(detail) against('php') from books;
*
*
*
*
* );
*
* 六、数据表类型及存储位置
*
* MySQL和大多数数据库不同, MySQL有一个存储引擎概念。
*
* MySQL可以针对不同的存储引擎需求可以选择最优的存储引擎
*
* 引擎 数据表类型
*
* 我们只学12中的MyISAM 和 InnoDB两个
*
* create table () type InnoDB;
* create table () engine InnoDB;
*
* MyISAM 表类型是默认的
*
* 选择MyISAM还是选择InnoDB
*
* 注意: 在一个MySQL库中可以(创建表时)指定不同表类型
*
* MyISAM 表类型
*
* OPTIMIZE TABLE 表名
*
* 强调快速读取操作
*
* 也有缺点:有一些功能不支持
*
* InnoDB 表类型
*
* 支一些MyISAM所不支技功能
*
* 也有缺点:占用空间大
*
* 功能 MyISAM InnoDB
*
* 事务处理 不支持 支持
* 数据行锁定 不支持 支持
* 外键约束 不支持 支持
* 表空间占用 相对小 相对大 最大2倍
* 全文索引 支持 不支持
*
*
*
*
*
* 七、MySQL默认字符集
* ACSII
* ISO-8859-1/latin1
* gb2312-80 不推荐使用
* gb13000 不推荐使用
* GBK 可以用
* GB18030 数据支持还比较少见
*
* UTF -32
* USC -2
* UTF-16
* UTF-8 1--4 强烈推荐
*
* GBK 2字节 UTF8 3字节
*
* name varchar(12) 6个汉字 GBK
* name varchar(12) 4个汉字 UTF-8
*
* MySQL服务器, 数据库, 数据表, 字段
*
*
* 数据库中的UTF-8 utf8
*
* MySQL的字符集包括
*
*
* 字符集: 是用来定义MySQL存储字符串的方式 36
*
* 校对规则:是对规则是定义了比较字符串的方式 70
*
* 一对多的关系: 1 个字集可以对应多个校对规则
*
*
*
* 客户端与服务器交互时
*
* character_set_client
* character_set_connection
* character_set_results
*
* set names 字符集 同时修改以上三个的值
*
*
*
* 八、修改表
* Alter table
1.创建数据库
2.显示数据库
3.使用数据库
4.查看状态
5.创建表
6.显示表
7.显示表结构
8.添加数据
9.查看数据
MySQL创建数据表的更多相关文章
- MySQL 创建数据表
MySQL 创建数据表 创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 语法 以下为创建MySQL数据表的SQL通用语法: CREATE TABLE table_name (col ...
- 九、MySQL 创建数据表
MySQL 创建数据表 创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 语法 以下为创建MySQL数据表的SQL通用语法: CREATE TABLE table_name (col ...
- MySQL创建数据表并建立主外键关系
为mysql数据表建立主外键需要注意以下几点: 需要建立主外键关系的两个表的存储引擎必须是InnoDB. 外键列和参照列必须具有相似的数据类型,即可以隐式转换的数据类型. 外键列和参照列必须创建索引, ...
- MySql——创建数据表,查询数据,排序查询数据
参考资料:<Mysql必知必会> 创建数据表 在学习前首先创建数据表和插入数据.如何安装mysql可以看看上个博客https://www.cnblogs.com/lbhym/p/11675 ...
- 吴裕雄--天生自然MySQL学习笔记:MySQL 创建数据表
创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 语法 以下为创建MySQL数据表的SQL通用语法: CREATE TABLE table_name (column_name col ...
- PHP MySQL 创建数据表
PHP 创建 MySQL 表 一个数据表有一个唯一名称,并有行和列组成. 使用 MySQLi 和 PDO 创建 MySQL 表 CREATE TABLE 语句用于创建 MySQL 表. 我们将创建一个 ...
- mysql创建数据表时如何判断是否已经存在?
>>> create table if not exists people(name text,age int(2),gender char(1)); 如上代码表示创建一个名为peo ...
- MYSQL创建数据表!
几个常见的建表原则: a,表都加前缀b,所有的字段选择最小的数据类型,如id可以使用mediumint比INT节省25%的空间c,尽量所有的字段都设置为NOT NULL的,这样能让速度更快d,为合适的 ...
- MySQL创建数据表时设定引擎MyISAM/InnoDB
我在配置mysql时将配置文件中的默认存储引擎设定为了InnoDB.今天查看了MyISAM与InnoDB的区别,在该文中的第七条"MyISAM支持GIS数据,InnoDB不支持.即MyISA ...
随机推荐
- uva----11729 Commando war (突击战争)
G Commando War Input: Standard Input Output: Standard Output “Waiting for orders we held in the wood ...
- css解决方案经验杂记
文本垂直居中 单行文本:line-height的值等于height: 多行文本:padding上下值一致即可: 还可以使用position:absolute进行绝对定位,如果是相对父级元素,则需要设置 ...
- android:configChanges属性
对android:configChanges属性,一般认为有以下几点: 1.不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏 ...
- 报错解决:No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here
大概分析一般使用了注解才会报这方面的错 1.没有在spring的ApplicationContext.xml中开启注解事务 <!-- 开启注解事务 --> <tx:annotatio ...
- lucene底层数据结构——底层filter bitset原理,时间序列数据压缩将同一时间数据压缩为一行
如何联合索引查询? 所以给定查询过滤条件 age=18 的过程就是先从term index找到18在term dictionary的大概位置,然后再从term dictionary里精确地找到18这个 ...
- Chrome plug-in 和Extension
"扩展"和"插件",其实都是软件组件的一种形式,Chrome 只不过是把两种类型的组件分别给与了专有名称,一个叫"扩展",另一个叫" ...
- @property和@synthesize的特性
基础回顾:get方法和set方法 定义类成员变量时,可以在@interface中定义,也可以在@implementation中定义: 在@interface中声明,成员变量的状态是受保护的,即“@pr ...
- 统计查询-sql
select --总注册人数(select COUNT(*) from [YYD_Users_RegInfo]) as TotalCount,--pc端注册人数(select COUNT(*) fro ...
- (转载)全球唯一标识GUID
GUID(Global unique identifier)全局唯一标识符,它是由网卡上的标识数字(每个网卡都有唯一的标识号)以及 CPU 时钟的唯一数字生成的的一个 16 字节的二进制值. GUID ...
- comboBox绑定数据库、模糊查询
实现: 一.绑定数据库 点击查询按钮,comboBox显示从数据库查到的某字段的一列数据 方法:在按钮的点击事件绑定数据库 private void button1_Click(object send ...