数据库操作
操作数据库
数据库>-数据库中的表>-操作数据库中表的数据
1、创建数据库
CREATE DATABASE[IF NOT EXISTS] STUDENT
2、删除数据库
DROP [IF EXISTS] STUDENT
3、使用数据库
USE STUDENT
4、查看数据库
SHOW DATABASES
数据库的列类型
创建数据表
数值类型

字符串类型

日期和时间型数值类型

空值
- 理解为“没有值”或“未知值”
- 最好不要使用NULL进行算术运算。
数据字段属性
unsign
- 无符号的
- 声明该数据不允许负数
zeroFILL
- 0填充的
- 不足位数的用0来填充
Auto_increament
- 自动增长的,每添加一条数据,自动在一个记录上加1
- 通常用于设置主键,且为整数类型
- 可定义起始值和步长
NULL和not null
-
默认null,既没有擦汗如该列的数值
-
如果设置为not null,则该列必须有值。
default
- 默认的
- 用于设置默认值
创建数据库表
create table [if not exists] `表名`(
'字段名1' 列类型 [属性][索引][注释],
'字段名2' 列类型 [属性][索引][注释],
#...
'字段名n' 列类型 [属性][索引][注释]
)[表类型][表字符集][注释];
-- 目标 : 创建一个school数据库
-- 创建学生表(列,字段)
-- 学号int 登录密码varchar(20) 姓名,性别varchar(2),出生日期(datatime),家庭住址,email
-- 创建表之前 , 一定要先选择数据库
CREATE TABLE IF NOT EXISTS `student` (
`id` int(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` varchar(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
`pwd` varchar(20) NOT NULL DEFAULT '123456' COMMENT '密码',
`sex` varchar(2) NOT NULL DEFAULT '男' COMMENT '性别',
`birthday` datetime DEFAULT NULL COMMENT '生日',
`address` varchar(100) DEFAULT NULL COMMENT '地址',
`email` varchar(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
-- 查看数据库的定义
SHOW CREATE DATABASE school;
-- 查看数据表的定义
SHOW CREATE TABLE student;
-- 显示表结构
DESC student; -- 设置严格检查模式(不能容错了)SET sql_mode='STRICT_TRANS_TABLES';
--摘自狂神说公众号
数据表的类型
CREATE TABLE 表名(
)ENGINE = MyISAM (or InnoDB)
-- 查看mysql所支持的引擎类型 (表类型)
SHOW ENGINES
MySQL的数据表类型:MySAM,InnoDB HEAP , BOB , CSV等。
MyISAM与InnoDB的区别

MyISAM:节约空间,运行速度快
InnoDB:安全性,事务性处理及多用户操作数据表
数据表的存储位置
MySQL数据表以文件方式存放在磁盘中
1、包括表文件,数据文件,以及数据库的选项文件
2、位置:Mysql安装目录\data\下存放数据表,目录名对应数据库名,该目录下文件名对应数据表。
注意:
*.frm--表结构定义文件
MYD--数据文件(data)
MYI--索引文件(index)
InnoDB类型数据表只有一个*frm文件,以及上一级目录的ibdata1文件;MyISAM类型数据表对应三个文件。
设置数据表子符集
我们可以为数据库,数据表,数据列设定不同的字符集。
方法:创建时通过命令来设置,
CREATE TABLE 表名() CHARSET=UTF8;
修改删除数据库
修改表(ALTER TABLE)
修改表名:ALTER TABLE 旧表名 RENAME AS 新表名
ALTER TABLE teacher RENAME AS teacher1
添加字段:ALTER TABLE 表名 ADD 字段名 列属性[属性]
ALTER TABLE teacher1 ADD age int[11]
修改字段列属性:ALTER TABLE 表名 MODIFY 字段名 列属性[属性]
ALTER TABLE teacher1 MODIFY age varchar[11]
修改字段名:ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列属性[属性]
ALTER TABLE teacher1 CHANGE age age1 varchar[11]
删除字段:ALTER TABLE 表名 DROP 字段名
:ALTER TABLE teacher1 DROP age1
删除表(DROP TABLE)2
删除表:DROP TABLE [IF EXISTS] 表名
注意:在执行创建和删除的操作时,最好加上判断,避免出错。

浙公网安备 33010602011771号