操作数据库表

创建数据库表

CREATE DATABASE school
-- 使用英文() ,表的名称和字段尽量使用``括起来
-- AUTO——INCREMENT自增
-- 字符串使用单引号括起来
-- 所有语句后面加逗号,英文的,最后一个字段不用加
-- primary key 一个表只有一个主键
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 --显示表的结构

 

数据表的类型

--关于数据引擎

 INNODB 默认使用

 MYISAM 早些年使用的

  MYISAM INNODB
事务支持 不支持 支持
数据行锁定 不支持 支持
外键约束 不支持 支持
全文索引 支持 不支持
表空间 较小  

常规使用操作:

  MYISAM:节约空间,速度较快

  INNODB:安全性高,事务的处理,多表多用户操作

在物理空间存在的位置:

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

MySQL引擎在物理文件上的区别:

  INNODB 在数据库表中只有一个*.frm文件,以及上级目录下的ibdata1文件

  MYISAM对应文件

    *.frm  表结构定义文件

    *.MYD  数据文件

    *.MYI   索引文件 

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

  charset=utf8

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

 

修改删除表

···修改

-- 修改表名 ALTER TABLE 旧表名 RENAME AS 新表名
ALTER TABLE student RENAME AS students
-- 增加字段 ALTER TANLE 表名 ADD 字段名 列属性
ALTER TABLE students ADD age INT(11)
-- 修改字段(重命名,修改约束)
ALTER TABLE students MODIFY age VARCHAR(11)-- 修改约束
ALTER TABLE students CHANGE age age1 INT(11)-- 重命名

-- 删除表的字段
ALTER TABLE students DROP age1

···删除

-- 删除表
DROP TABLE IF EXISTS students

所有的创建和删除操作尽量加上判断以免报错

 

posted on 2022-12-14 11:27  键盘敲烂的朱  阅读(15)  评论(0编辑  收藏  举报