文章目录

  • 一、操作数据库
  • 1. 创建
  • 2. 删除
  • 3. 使用
  • 4. 查询
  • 5.修改
  • 二、数据库字段类型
  • 1.数值
  • 2.字符串
  • 3.日期
  • 4.NULL
  • 三、数据库字段属性
  • 1.Unsigned
  • 2.zerofill
  • 3.自增(auto_increment)
  • 4.非空(not null)
  • 5.默认(default)



一、操作数据库

1. 创建

create database `数据库名`;
-- 避免已存在同一命名的数据库导致执行语句时错误
create database if not exists `数据库名`;
/* 
	` 是 MySQL 的转义符,这个符号是对数据库名、表名、字段名的特殊处理。
	避免和 mysql 的本身的关键字冲突。
*/

create database `数据库名` character set 字符集名(例:utf8)

2. 删除

drop database `数据库名`;
drop database if exists `数据库名`;

3. 使用

use `数据库名`;
show database();	-- 显示当前使用的数据库名称

4. 查询

show databases;	-- 查询所有数据库名称
show create database `数据库名称`;	-- 查询数据库的创建语句

5.修改

alter database `数据库名` character set 字符集名; 	-- 修改数据库字符集

二、数据库字段类型

1.数值

tinyint				-- 1个字节
smallint			-- 2个字节
mediumint			-- 3个字节
int					-- 4个字节(常用的int数据类型)
bigint				-- 8个字节(相当于java中的long)
float				-- 4个字节(单精度浮点数)
double				-- 8个字节(双精度浮点数)
decimal				-- 常用于存储金融数值时,字符串形式的浮点数

2.字符串

char		-- 长度固定,例:char(M),不足M个字节,剩余用空格补充;最大存储255个字符
varchar		/* 0~65532字节,长度可变,例:varchar(M),每个值只占本身大小的字节,
		 	最后加上记录其长度的字节;
		 	注意:MySQL5.0版本以上,指的是能存放M个字符 */
tinytext	-- 微型文本,最大 2^8-1 个字节
text 		-- 最大 2^16-1 个字节

3.日期

date		-- 日期格式:YYYY-MM-DD
time		-- 时间格式:HH:mm:ss
datetime	-- 时间格式:YYYY-MM-DD HH:mm:ss
timestamp	-- 时间戳,1970年1月1日到现在时间的毫秒值

4.NULL

null	-- 空值,注意:不要使用NULL进行运算

三、数据库字段属性

1.Unsigned

  • 声明该列不能为负数

2.zerofill

  • 0填充,位数不足时,使用0来填充,例如:int(4),插入数据11,则结果为0011

3.自增(auto_increment)

  • 自增,通常为在上一条记录的基础上自动+1
  • 常用于唯一的主键上,且必须是整数类型,通常与primary key连用
  • 可以自定义主键自增的初始值和步长
  • 只能给被定义为key(unique key,primary key)的字段使用

4.非空(not null)

  • 如果设置非空,则不给该列赋值,就会报错
  • 如果没有设置,默认为null

5.默认(default)

  • 设置默认的值,如果没有插入数据,则使用默认值
  • 例如,sex字段设置默认为男,未插入该列的值,则最终结果显示为男