Mysql数据表的操作
表的操作
前提:选择数据库
语法:
use 数据库名;
1、创建数据表
语法:
create table 表名(
字段1 字段类型 【附加属性】,
字段2 字段类型 【附加属性】,
字段3 字段类型 【附加属性】,
......
)【charset 字符集】;
说明:
-
同一个字段相关的信息之间使用空格分隔
-
不现的字段之间使用逗号分隔,
-
最后一个字段后不需要使用逗号
-
charset可以省略,如果省略使用的是数据库的字符集。
-
当创建一个表时,仅仅是创建了一个表结构(表头)
字段类型
也称之为列类型或数据类型
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 |
MySQL中的整型数据一般是具有正负之分的,但是某一些数据是不需要出现负数的,MySQL提供了一个无符号位(usigned)
字符型
定长字符
char(L)
说明:
L表示存储的字符的个数,最大取值是255
变长字符
示例:
如果数据表的字符集是utf8,字段的类型为char(10),实际存储的数据为'abcde',在硬盘上所占据的空间是10*3bytes=30bytes;
varchar(M)
说明:
M表示存储的字符的最大个数,理论数据是65535
示例:
如果数据表的字符集是utf8,字段的类型为varchar(10),实际存储的数据为'abcde',在硬盘上所占据的空间是5*3bytes+1或2bytes=16或17bytes
日期时间型:
date(日期型)
格式:'2015-11-24'
time(时间型)
格式:'23:59:59'
datetime(日期时间型)
格式:'2015-11-24 23:59:59'
示例:
-- 创建数据库
create database php1027 charset utf8;
-- 选择数据库
use php1027;
-- 创建数据表
create table user(
name char(10),
age tinyint unsigned,
sex char(1)
)charset utf8;
【附加属性】
字段类型:
对单独个体(一个记录一个字段)进行限制。
附加属性:
对整个列进行一个约束
primary key 主键字段
说明:
当为一个表设置主键字段后,会自动创建一个索引,索引为了快速查询。
索引,
一般主键字段的数据是与用户数据无关,只要能唯一标识就可以。所以一般使用整形。
主键的特征:
不允许重复,
auto_incremnet 自增涨字段
说明:
主要用于整型字段,一般与primary key配合使用。
not null 不允许为null
说明:
当为某个字段插入数据时,如果没有对此字段进行not null与default设置,那么MySQL会自动使用null值进行填充。
在使用过程中,一般会为一个字段设置缺省值,如果没有办法确定缺省值的时候,使用''(字段空)
default 用于设置默认值
说明:
当为没有为字段插入数据时,会以设置的缺省值,填充。
示例:
查看表结构
语法:
desc 表名;
说明:
主要用于显示表头的相关信息
示例:
查看表的创建语句
语法:
show create table 表名;
示例:
查看表(查看有多少表存在)
语法:
show tables;
示例:
删除表
语法:
drop table 表名;
示例: