操作数据库

操作数据库

1.创建数据库

CREATE DATABASE IF NOT EXISTS test;

2.删除数据库

DROP DATABASE IF EXISTS test;

3.使用数据库

-- tab键的上面 ``
USE `school`;

4.查看数据库

SHOW DATABASES;

 

数据库的列类型

1.数值

  • tinyint           1个字节
  • smallint         2个字节
  • mediumint     3个字节
  • int    标准的整数      4个字节
  • bigint           8个字节
  • float       浮点数    4个字节
  • double   浮点数    8个字节
  • decimal       字符串形式的浮点数 (金融计算常用) 

 2.字符串类型

  • char   字符串  0~255
  • varchar    可变字符串   0~65535   常用的字符串
  • 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 到现在的毫秒数
  • year  年份表示

4.null

  • 没有值,未知
  • 不要使用NULL值进行运算,没有意义

 

数据库的字段属性

Unsigned:

  • 无符号整数,声明该列非负

zerofill:

  • 不足的位数,使用0填充

自增:

  • 自动在上一条记录的基础上加1
  • 可以自定义设计主键自增的起始值和步长

非空:

  • NULL,如果不填值,默认是null

默认:

  • 设置默认值

 

创建数据库表

-- primary key 主键 一般一个表只有唯一主键

CREATE TABLE IF NOT EXISTS `student1111`(
    `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 '性别',
    `birthyday` 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 exists `表名`(

  `字段名`  列类型  [属性]  [索引] [注释],

  `字段名`  列类型  [属性]  [索引] [注释],

  `字段名`  列类型  [属性]  [索引] [注释],

  `字段名`  列类型  [属性]  [索引] [注释]

)[表类型] [字符集设置] [注释]

注意:mysql默认的字符集编码不支持中文

SHOW CREATE DATABASE school;    -- 查看创建数据库的定义语句
SHOW CREATE TABLE student1111;   -- 查看数据表的定义语句
DESC student;  -- 显示表的结构

引擎:

-- 关于数据库引擎
/*
          事务支持    数据行锁定    外键约束    全文索引    表空间的大小
innodb     支持          支持        支持        支持        较大,约为2倍
myisam     不支持        不支持      不支持      不支持      较小
/*

 

存储的位置:

所有的数据库都存在data  目录下,本质是文件

  • innoDB  在数据库表中只有一个*.frm文件和上级目录下的ibdata1文件
  • MyISAM  对应文件  
    • *.frm-表结构的定义文件
    • *.MYD 数据文件(data)
    • *.MYI   索引文件(index)

修改和删除表

-- 修改表名  alert table 旧表名 rename  as 新表名
ALTER TABLE student RENAME AS student123;
-- 增加表的字段  alter table 表名 add 字段名 列属性
ALTER TABLE student123 ADD phonenumber INT(11);
-- 修改表的字段(命名,修改约束)
ALTER TABLE teacher MODIFY id VARCHAR(11); -- 修改约束  
ALTER TABLE teacher CHANGE id id123 INT(2); -- 字段重命名
-- 删除表的字段
ALTER TABLE student1111 DROP id;

 

注意点:

  •  ``字段名用这个包裹
  • 注释:  --   /**/
  • sql   关键字大小写不敏感

 

posted @ 2022-07-15 10:40  蓝色的a猫  阅读(42)  评论(0)    收藏  举报