操纵数据库

打印 上一主题 下一主题

主题 2026|帖子 2026|积分 6078

操纵数据库>操纵数据库中的表>操纵数据库中表的数据
mysql数据库不区分大小写
操纵数据库

(本章所有代码均在MySQL Workbench中编写)


  • 创建数据库
    […] 代表可选
  1. create database [if not exists] westos;
复制代码

  • 删除数据库
  1. drop database [if exists] westos;
复制代码

  • 使用数据库
  1. -- 如果表名或字段名是一个特殊字符,就需要带``
  2. use `school`;
复制代码

  • 查看数据库
  1. show databases;        --查看数据库所有数据
复制代码
数据库的列范例

数值


  • tinyint----非常小的数据----一字节
  • smallint ----较小的数据----两字节
  • int----尺度的整数----四字节
  • mediumint----中的大小的数据----三个字节
  • bigint----较大的数据----八字节
  • float----浮点数----4个字节
  • double----浮点数----8个字节
  • decimal----字符串形式的浮点数----金融计算的时间,一般使用decimal
字符串


  • char----字符串固定大小的----0~255
  • varchar----可变字符串----0~65535 (常用的 对应String)
  • tinytext----微型文本----2^8 - 1
  • text----文本串----2^16 - 1 (生存大文本)
时间日期
对应的Java:java.util.Date


  • date YYY-MM-DD,日期
  • time HH:MM:ss,时间格式
  • datetime YYYY-MM-DD HH:mm:ss 最常用的时间格式
  • timestamp 时间戳,1970.1.1到现在的毫秒数! 也较为常用!
  • year 年份表示
null


  • 没有值,未知
  • 留意,不要使用NULL举行运算,结果为NULL
数据库的字段属性(重点)


Unsigned:


  • 无符号整数
  • 声明白该列不能声明为负数
zerofill:


  • 0填充
  • 不敷的位数,使用0来填充,int(3),5–>005
自增:


  • 通常明白为自增,主动在上一条记录的基础上+1(默认)
  • 通常用来筹划唯一的主键~index,必须是整数范例
  • 可以自定义筹划主键自增的起始值和步长
非空 NUll not null


  • 假设设置为not null,假如不给他赋值,就会报错!
  • NULL,假如不填写值,默认就是null!
默认:


  • 设置默认的值!
  • 假如不指定该列的值,则会有默认的值!
拓展(相识):

  1. /*没一张表,都必须存在以下五个字段!未来做项目用的,表示一个记录存在意义!
  2. id        主键
  3. `version`        乐观锁
  4. is_delete        伪删除
  5. gmt_create        创建时间
  6. gmt_update        修改时间
  7. */
复制代码
创建数据库表 (重点)

  1. -- 注意点,使用英文括号()
  2. -- 字符串使用单引号括起来!
  3. -- 所有语句后面加,(英文的),最后一个不用加
  4. CREATE TABLE IF NOT EXISTS `stedent`(
  5.         `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号' ,
  6.     `name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
  7.     `PWD` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
  8.     `sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性别',
  9.     `birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
  10.     `address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
  11.     `email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
  12.     PRIMARY KEY(`id`)
  13. )ENGINE InnoDB DEFAULT CHARSET=UTF8
复制代码
结果如图所示:

格式:
  1. CREATE TABLE [IF NOT EXISTS] `表名`(
  2.         '字段名' 列类型 [属性][索引][注释],
  3.         '字段名' 列类型 [属性][索引][注释],
  4.         ...
  5.         '字段名' 列类型 [属性][索引][注释]
  6. )[表类型][字符集集合][注释]
复制代码
常用命令

  1. SHOW CREATE DATABASE school        -- 查看创建数据库的语句                CREATE DATABASE `school` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */
  2. SHOW CREATE TABLE stedent        -- 查看student数据库表的定义语句
  3. DESC stedent        --显示表的具体结构
复制代码
数据表的范例

  1. -- 关于数据库引擎
  2. /*
  3. INNODB 现在默认使用
  4. MYISAN        早些年使用的
  5. */
复制代码
MYISANINNODB事务支持不支持支持数据行锁定不支持支持外键约束不支持支持全文索引支持不支持表空间的大小较小较大,约两倍 通例使用操纵:


  • MYISAM 节约空间,速度较快
  • INNODB 安全性高,事务的处理,多表多用户操纵
在物理空间存在的位置:


  • 所有数据库文件都存在data目次下
  • 本质还是文件的存储!
设置数据库集的字符集编码
  1. CHAESET=UTF8
复制代码
不设置的话,回事mysql默认的字符集编码–(不支持中文!)
修改、删除表

修改 (ALTER)

修改表名: ALTER TABLE 旧表名 RENAME AS 新表名
增加表的字段: ALTER TABLE 表名 ADD 字段名 列属性
修改表的字段:(重定名,修改约束!)


  • 重定名:ALTER TABLE 表名 CHANGE 旧名字 新名字 列属性[]
  • 修改约束: ALTER TABLE 表名 MODIFY 字段名 列属性[]
删除

删除表中的字段: ALTER TABLE 表名 DROP 字段名
删除表: DROP TABLE IF EXISTS 表名
所有的创建和删除操纵只管加上判断,以免报错!!!
留意点:


  • `` 字段名,使用这个包裹!
  • 表明 – /**/
  • sql关键字大小写不敏感
  • 所有的符号全部用英文!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

守听

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表