02数据库操作

目录

结构化查询语句分类

数据库操作

数据值和列类型

数值

字符串

时间日期

null

数据字段属性

创建数据表格式

数据表的类型

数据库的引擎

适用范围

修改数据库

修改表 ( ALTER TABLE )

删除数据表

注意点


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

mysql不区分大小写因为在创建表的时候的核对选项是utf-8_general_ci

SQL语句注释语句: --

结构化查询语句分类

SQL语言在功能上主要分为如下3大类:

  • DDL(Data Definition Languages、数据定义语言),这些语句定义了不同的数据库、表、视图、索引等数据库对象,还可以用来创建、删除、修改数据库和数据表的结构。

    • 主要的语句关键字包括CREATE、DROP、ALTER等。

  • DML(Data Manipulation Language、数据操作语言),用于添加、删除、更新和查询数据库记录,并检查数据完整性。

    • 主要的语句关键字包括INSERT、DELETE、UPDATE、SELECT等。

    • SELECT也可以说是分类中的DQL (数据查询语言),最为重要,用于查询数据库数据。

  • DCL(Data Control Language、数据控制语言),用于定义数据库、表、字段、用户的访问权限和安全级别。

    • 主要的语句关键字包括GRANT、REVOKE、COMMIT、ROLLBACK、SAVEPOINT等。

数据库操作

创建数据库 : create database [if not exists] 数据库名;

删除数据库 : drop database [if exists] 数据库名;

查看数据库 : show databases;

使用数据库 : use '数据库表';

数据值和列类型

数值

  • 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

  • date YYYY-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

Auto_InCrement(自增?)

  • 自动增长的 , 每添加一条数据 , 自动在上一个记录数上加 1(默认)

    通常用于设置主键 , 且为整数类型

  • 可定义起始值和步长,当前表设置步长(AUTO_INCREMENT=100) : 只影响当前表SET @@auto_increment_increment=5 ; 影响所有使用自增的表(全局)

NULL 和 NOT NULL(非空?)

  • 默认为NULL , 即没有插入该列的数值

  • 如果设置为NOT NULL , 则该列必须有值

DEFAULT(默认)

  • 默认的

  • 用于设置默认值

  • 例如,性别字段,默认为"男" , 否则为 “女” ; 若无指定该列的值 , 则默认值为"男"的值

创建数据表格式

CREATE TABLE [IF NOT EXISTS] '表名'(
    '字段名' 列类型 [属性] [索引] [注释],
    '字段名' 列类型 [属性] [索引] [注释],
    ...
    '字段名' 列类型 [属性] [索引] [注释]
    --最后一行不加,
   -- Mysql注释
   -- 1. # 单行注释
   -- 2. /*...*/ 多行注释
)[表类型] [字符集设置][注释]
--例:ENGINE = MyISAM (or InnoDB) DEFAULT CHARSET=utf8
​
--常用命令:
-- 查看mysql所支持的引擎类型 (表类型)
SHOW ENGINES;
-- 查看创建数据库的定义语句
SHOW CREATE DATABASE school;
-- 查看创建数据库表的定义语句
SHOW CREATE TABLE student;
-- 显示表的结构
DESC student;  -- 设置严格检查模式(不能容错了)SET sql_mode='STRICT_TRANS_TABLES';

数据表的类型

数据库的引擎

InnoDB 默认使用~

MyISAM 早些年使用

MyISAMInnoDB
事务支持不支持支持
数据行锁定不支持支持
外键约束不支持支持
全文索引支持不支持
表空间的大小较小较大,约为2倍

事务支持:举个例子:假设两个SQL语句同时在执行,要么都成功,要么都失败,

数据行锁定:假设两个SQL语句要查询同一个表,第一个查询到的会把表锁住,InnoDB只锁一行记录.

外键约束:

全文索引:在一篇大型的文章中寻找某一个字段

表空间的大小:

适用范围

  • 适用 MyISAM : 节约空间及相应速度,擅长于处理“读”的任务,比如select

  • 适用 InnoDB : 安全性 , 事务处理及多用户操作数据表,功能性而言侧重于写的任务,比如insert、update、alter

修改数据库

修改表 ( ALTER TABLE )

修改表名 :ALTER TABLE 旧表名 RENAME AS 新表名

添加字段 : ALTER TABLE 表名 ADD 字段名 列属性[属性]

修改字段 :ALTER TABLE 表名 MODIFY 字段名 列类型[属性]

重命名: ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列属性[属性]

注: MODIFY能修改字段的类型与约束 CHANGE不能

删除字段 : ALTER TABLE 表名 DROP 字段名

删除数据表

DROP TABLE [IF EXISTS] 表名

  • IF EXISTS为可选 , 判断是否存在该数据表

  • 如删除不存在的数据表会抛出错误

注:所有创建和删除操作最好加上判断,以免报错...

注意点

1.可用反引号(`)为标识符(库名、表名、字段名、索引、别名)包裹,以避免与关键字重名!中文也可以作为标识符!
 
2. 每个库目录存在一个保存当前数据库的选项文件db.opt。
 
3. 注释:
    单行注释 # 注释内容
    多行注释 /* 注释内容 */
    单行注释 -- 注释内容        (标准SQL注释风格,要求双破折号后加一空格符(空格、TAB、换行等))
    
4. 模式通配符:
    _    任意单个字符
    %    任意多个字符,甚至包括零字符
    单引号需要进行转义 \'
    
5. CMD命令行内的语句结束符可以为 ";", "\G", "\g",仅影响显示结果。其他地方还是用分号结束。delimiter 可修改当前对话的语句结束符。
6. SQL对大小写不敏感 (关键字)
7. 清除已有语句:\c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值