MySQL数据库的基本操作

数据库基本操作

操作数据库

  • 创建数据库
create database [if not exists] westos;  --mysql关键字不区分大小写
-- 语法:create dadabase 数据库名
  • 删除数据库
drop database [if exists] westos;
-- 语法: drop database 数据库名
  • 使用数据库
use `school`;
--如果表面或者字段名是一个特殊符号,需要用``括起来
  • 查看数据库
show database;--查看所有的数据库

数据库的列类型

  • 数值型
类型名称描述大小
tinyint十分小的数据1个字节
smallint较小的数据2个字节
mediumint中等大小的数据3个字节
int标准的整数4个字节
bigint较大的数据8个字节
float单精度浮点数4个字节
double双精度浮点数8个字节
decimal字符串形式的浮点数,一般用于金融计算
  • 字符串型
类型名称描述大小
char字符串固定大小0~255
varchar可变字符串0~65535
tinytext微型文本2^8-1
text文本串2^16-1
  • 时间日期

    java.util.Date

类型名称描述备注
dateYYYY-MM-DD日期格式
timeHH:mm:ss时间格式
datetimeYYYY-MM-DD HH:mm:ss最常用
timestamp时间戳,1970到现在的毫秒数较为常用
year年份表示
  • null
    • 没有值,
    • 使用null进行运算,结果也是null

数据库的字段属性

  • Unsigned
    • 无符号的整数
    • 声明了该列不能声明为负数
  • zerofill
    • 0填充的
    • 不足的位数,使用0来填充,如int(3), 9 —005
  • 自增
    • 通常理解为自增,自动在上一条记录的基础上+1(默认)
    • 通常用来设计唯一的主键,必须是整数类型
    • 可以自定义设计主键自增的起始值和步长
  • 非空 :null
    • 假设设置为not null,如果不赋值,就会报错
    • null,如果不填写值,默认为null
  • 默认
    • 设置默认的值
    • sex,默认为男,如果不指定该列的值,则会默认为男

操作数据库中的表

创建数据库表

--注意:符号要使用英文符号,表的名称和字段尽量使用``括起来
--auto_increment自增
--字符串使用单引号''括起来
--所有的语句后面加英文逗号,最后一个不用加
--primary key 主键,一般一个表只有一个唯一的主键

CREATE TABLE IF NOT EXISTS `student`(
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
`name` VARCHAR(11)NOT NULL COMMENT'姓名',
`psd` VARCHAR(11)NOT NULL DEFAULT'123456' COMMENT'密码',
`gender`VARCHAR(2) NOT NULL DEFAULT'男' COMMENT'性别',
`address`VARCHAR(30) COMMENT'家庭地址',
`email`VARCHAR(11) COMMENT'电子邮箱',
PRIMARY KEY(id)
)ENGINE=INNODB DEFAULT CHARSET=utf8 COMMENT '学生信息表'
  • 语法
create table [if not exists] `表名`(
`字段名` 列属性 [属性] [索引] [注释],
`字段名` 列属性 [属性] [索引] [注释],
......
`字段名` 列属性 [属性] [索引] [注释],
primary key(字段名)  --一般主键是id
)[表类型][字符集设置][表注释]
  • 常用命令
show create database school  --查看创建数据库
show create table student  --查看student数据表
desc student --显示表的结构

数据表的类型

  • 数据库引擎:InnoDB(默认使用),MYISAM(之前使用的)

  • InnoDB和MYISAM对比

MYISAMINNODB
事务支持不支持支持
数据行锁定不支持支持
外键约束不支持支持
全文索引支持不支持
表空间的大小较小较大,约为MYISAM的两倍
  • MYISAM 节约空间,速度较快
  • INNODB 安全性高,事务的处理,多表多用户操作
  • 注:所有的数据库文件都存在data目录下,一个文件夹就对应一个数据库,本质还是文件的存储
  • INNODB在数据库中只有一个*.frm文件,以及上级目录下的ibdata文件
  • MYISAM对应的文件有:
    • *.frm 表结构的定义文件
    • *.MYD 数据文件(data)
    • *.MYI 索引文件(index)
  • 数据库表的字符集编码
CHARSET=utf8   --一般都设置为这个
  • 如果不设置字符集编码,会是MYSQL的默认编码:Latin1(不支持中文)

修改删除表

  • 修改(alter)
--修改表名
ALTER TABLE `student` RENAME as `student1`
--语法:ALTER TABLE 旧表名 RENAME as 新表名
--增加表的字段
ALTER TABLE `student` add `birthday` datetime NULL COMMENT '出生日期'
--语法:ALTER TABLE 表名 add 字段名 [字段属性]
--修改标的字段:修改约束
ALTER TABLE `student` MODIFY `name` VARCHAR(13)
--语法:ALTER TABLE 表名  MODIFY  字段名 属性
--修改标的字段:重命名
ALTER TABLE `student` CHANGE sex  gender VARCHAR(3)
--语法:ALTER TABLE 表名 CHANGE 字段旧名字 字段新名字 属性
--删除表的字段
ALTER TABLE `student`DROP `birthday`
--语法:ALTER TABLE 表名 DROP 字段名
  • 删除
--删除表
DROP TABLE IF EXISTS `student`

注:所有的创建和删除都尽量加上判断,以免报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值