MySql:操作数据库

2.操作数据库

操作数据库 -->操作数据库中的表 -->操作表中的数据

mysql关键字不分大小写

2.1 操作数据库

1、创建数据库

create database [if not exists] school;

2、删除数据库

drop database [if exists] school;

3、使用数据库

use school;

4、查看数据库

show databases --查看所有的数据库

2.2数据库的数据类型

数值

  • tinyint 十分小的数据 1个字节
  • samllint 较小的数据 2个字节
  • mediumint 中等的数据 3个字节
  • int 标准的数据 4个字节
  • big 较大的数据 8个字节
  • float 浮点数 4个字节
  • double 浮点数 8个字节
  • decimal 字符串形式的浮点数

字符串

  • char 字符串 0-255
  • varchar 可变字符串 0-65535 String
  • tinytext 微型文本 2^8-1
  • text 文本串 2^16-1 保存大文本

时间和日期

  • date yyyy-mm-dd 日期格式
  • time hh:mm:ss 时间格式
  • datetime yyyy-mm-dd hh:mm:ss 最长用到的时间格式
  • timetamp 时间戳 1970.1.1 到现在的毫秒数 常用
  • year 年份表示

null

  • 没有值,未知
  • 不要用null运算

2.3数据库的字段属性

Unsigned

  • 无符号整数
  • 不能为负数

zerofill

  • 0填充
  • 不足的位数用0填充 0 005

自增:

  • 自动在上一条记录的基础上+1
  • 通常用来设计唯一的主键,必须时整数类型
  • 可以自定义主键的起始值盒步长

非空 NULL not null

  • 假设设置为not null,如果不赋值报错
  • null,如果不赋值,默认为null

默认:

  • 设置默认的值
  • 如果不指定值,则为默认值

2.4创建数据库表

--auto_increment自增
--字符串使用单引号包裹
--所有语句后面加,最后一个不用加
--primary key 主键,一般一个表就一个主键
create table if not exists `student`(
	`id` int(4) not null auto_increment comment '学号',
    ·name· varchar(20) 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

格式

create table [if not null] 表名(
	`字段名` 列类型 [属性] [索引] [注释],
    `字段名` 列类型 [属性] [索引] [注释],
    ·······
    `字段名` 列类型 [属性] [索引] [注释]
)[表类型][字符集设置][注释]

常用命令

show create database school; --查看创建数据库的语句
show create table student; --查看创建表的语句
desc student --查看表的结构

2.5数据库表的类型

innodb 默认使用

myisam 早些年使用

区别:

myisaminnodb
事务支持不支持支持
数据行锁定不支持支持
外键约束不支持支持
全文索引支持不支持
表空间大小较小较大
  • myisam 节省空间,速度快
  • innodb 安全性搞,事务的处理,支持多用户的操作

在物理空间存在的位置

本质还是文件存储

设置数据库表的字符集编码

charset=utf8

不设置的话,会时mysql默认的字符集编码(不支持中文)

mysql的默认编码时Latin1,不支持中文

2.6修改和删除表

修改

--修改表
alter table teacher Rename as teacher1; --修改表名
alter table teacher1 add sex int(11); --添加表的字段
alter table teacher1 modify sex varchar(3) --修改表字段的约束
alter table teacher1 change sex sex1 int(2) --字段重命名
alter table teacher1 drop sex1 --删除表的字段

删除

drop table [if exists] teacher1 --删除表

注意:

  • ``为了安全,所有字段名用这个包裹
  • 注释-- /**/
  • sql关键字大小写不敏感
  • 所有符号用英文
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页