二、数据库

2-1、操作数据库(了解)

1、创建数据库

CREATE DATABASE [IF NOT EXIST] myDatabase;

2、删除数据库

DROP DATABASE `myDatabase`; -- 加反引号,表示字符串,防止和 mysql 关键字冲突

3、使用数据库

USE myDatabase;

4、查看数据库

SHOW myDatabase;

2-2、数据库的列类

数值

  • tinyint 十分小的数据 1个字节

  • smallint 较小的数据 2个字节

  • mediumint 中等大小的数据 3个字节

  • int 标准的整数 4个字节 (常用的java中的int)

  • bigint 较大的数据 8个字节

  • float 浮点数 4个字节

  • double 浮点数 8个字节 (精度问题)

  • decimal 字符串形式的浮点数 金融计算的时候使用

字符串类型

  • char 字符串,固定大小的 0-255

  • varchar 可变字符串,0-65535 常用的 String

  • tinytext 微型文本 2^8-1

  • text 大型文本 2^16-1

时间日期

java.util.Date

  • data YYYY-MM-DD 日期格式
  • time HH : mm : ss 时间格式
  • datetime YYYY-MM-DD HH : mm : ss 最常用的时间格式
  • timestamp 时间戳,1970-1-1 到当前时间的毫秒值
  • year 年份表示

null

  • 没有值,未知
  • 不要使用NULL进行运算,结果为NULL

2-3、数据库的字段属性(重点)

Unsigned:

  • 无符号整数
  • 声明了该列的值,不能为负数

zerofill:

  • 零填充
  • 不足的位数,用0 填充。例如: int(3) , 5 -- 005

自增:

  • 自动在上一条记录的基础上加1(默认)
  • 通常用于设计唯一的主键 id,必须是整数类型
  • 可以自定义主键自增的起始值和步长

非空:

  • 设置了非空 not null,则意味着不给赋值,会报错
  • null,不写默认是null

默认:

  • 设置默认的值
  • 例如性别:不指定的话,给个默认的性别

2-4、数据库表的创建(DDL)

-- 注意事项:表的名称 和 字段,尽量用反引号 `` 包起来,防止和mysql 关键字冲突,也方便自己阅读
-- auto_increment 自增 , not null 不为空,default 默认值 , comment 注释
-- 字符串使用 单引号 '' ,和java不同
-- primary key ('id') 写在最后,可读性高
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 -- 使用 innodb引擎,utf-8字符集

格式

CREATE TABLE [IF NOT EXIST] `表名`(
`字段名` 列类型 [字段属性] [索引] [注释],
)[表类型][字符集][注释]

常用命令

SHOW CREATE	DATABASE `数据库名` -- 显示创建语句

SHOW CREATE	TABLE `表名` -- 显示创建语句

DESC `表` -- 查看表的具体结构

2-5、数据库表的类型

-- 关于数据库引擎
-- MYISAM 早期
-- INNODB 现在默认使用
MYIAM INNODB
事务 支持(以前不支持) 支持
数据行的锁定 不支持(表级锁) 支持(行级锁)
外键 不支持 支持
全文索引 支持 支持(从MySQL5.6版本开始支持)
表空间大小 较小 较大,约为MYISAM的两倍

常规使用操作:

  • ​ MYISAM : (1)做很多count的计算;(2)插入不频繁,查询非常频繁;(3)没有事务。
  • ​ INNODB : (1)可靠性要求比较高,或者要求事物;(2)表更新和查询都相当频繁,并且行锁定的机会比较大的情况。

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

  • 建表的时候,CHARSET=UTF8(推荐,通用性高)
  • 在 my.ini 中设置默认的字符集编码

2-6、数据库表的修改

-- 修改表名    ALTER TABLE `旧表名` RENAME AS `新表名`
ALTER TABLE `STUDENT` RENAME AS `STUDENT1` -- 表中添加字段 ALTER TABLE `表名` ADD 字段名 列属性(约束)
ALTER TABLE `STUDENT` ADD age INT(10) -- 修改表 约束 ALTER TABLE `表名` MODIFY 字段名 列属性(约束)
ALTER TABLE `STUDENT` MODIFY age VARCHAR(10) -- 修改表 字段名,约束 ALTER TABLE `表名` CHANGE 旧字段名 新字段名 [列属性(约束)]
ALTER TABLE `STUDENT` CHANGE age age1 INT(10) -- 删除表 字段名 : ALTER TABLE `表名` DROP 字段名
ALTER TABLE `STUDENT` DROP age1

CHANGE 既可以改字段名又可以改约束,MODIFY 只能改约束!

2-7、数据库表的修改

删除

DROP TABLE IF EXIST `表名`

注意点:

  • 字段名,表名,最好用 `` 包裹
  • 删除,创建操作,尽量加上 IF EXIST ,防止报错,类似于Java的 if ( xxx != null )
  • sql 关键字不区分大小写,但是我们用小写,还是一眼能认识
  • 所有符号用英文,同Java

MySQL(2)— 数据库的基本操作的更多相关文章

  1. MySQL:数据库的基本操作

    第二篇.数据库的基本操作 一.创建数据库 附:创建数据库并不意味输入数据在这个数据库中,只有用切换数据库才可以输数据到这个数据库中. 1.创建数据库 格式:create database数据库名字 [ ...

  2. Python学习第二十一课——Mysql 对数据库的基本操作

    数据库操作(DDL) 在数据库下创建表(create_table) 创建表代码块: CREATE TABLE employee( id TINYINT PRIMARY KEY auto_increme ...

  3. mysql数据库的基本操作

    mysql数据库的基本操作dos命令启动mysql服务:net start mysql启动数据库: mysql -uroot -p查看所有的数据库:show databases:新建数据库:creat ...

  4. MySQL(一) 数据表数据库的基本操作

    序言 这类文章,记录我看<MySQL5.6从零开始学>这本书的过程,将自己觉得重要的东西记录一下,并有可能帮助到你们,在写的博文前几篇度会非常基础,只要动手敲,跟着我写的例子全部实现一遍, ...

  5. mysql 数据库(二)数据库的基本操作

    mysql 数据库(二)数据库的基本操作 用户管理,添加权限,创建,显示,使用数据库 1 显示数据库:show databases; 默认数据库: mysql - 用户权限相关数据 test - 用于 ...

  6. MYSQL之数据库初识、安装详解、sql语句基本操作

    目录 MYSQL之数据库初识及安装详解 1.什么是数据库? 1.什么是数据?(data) 2.什么是数据库?(databases,简称DB) 2.为什要用数据库? 3.什么是数据库管理系统?(Data ...

  7. MySQL数据库起步 关于数据库的基本操作(更新中...)

    mysql的基本操作 连接指定的服务器(需要服务器开启3306端口) mysql -h ip地址 -P 端口号 -u 账号 -p 密码 删除游客模式 mysql -h ip地址 -P 端口号 -u 账 ...

  8. 通过sql语句对MySql数据库的基本操作

    一.数据库的基本操作 CREATE DATABASE mybookstore; DROP DATABASE mybookstore; 二.表的基本操作 1.创建表 insert into 表名(字段名 ...

  9. Mysql系列-数据库

    一 .数据库管理软件的由来 基于我们之前所学,数据要想永久保存,都是保存于文件中,毫无疑问,一个文件仅仅只能存在于某一台机器上. 如果我们暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组 ...

  10. ThinkPhp框架对“数据库”的基本操作

    框架有时会用到数据库的内容,在"ThinkPhp框架知识"的那篇随笔中提到过,现在这篇随笔详细的描述下. 数据库的操作,无疑就是连接数据库,然后对数据库中的表进行各种查询,然后就是 ...

随机推荐

  1. opencv-6-图像绘制与opencv Line 函数剖析

    opencv-6-图像绘制与opencv Line 函数剖析 opencvc++qt 开始之前 越到后面, 写的越慢, 之前还抽空去看了下 学堂在线那篇文章提供的方法, 博客第一个人评论的我, 想想还 ...

  2. 后缀数组SA

    复杂度:O(nlogn) 注:从0到n-1 const int maxn=1e5; char s[maxn]; int sa[maxn],Rank[maxn],height[maxn],rmq[max ...

  3. 计算4的n次幂html代码

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. [转] Exchange 2013 安装部署详解

    ·Exchange 2013 部署:系统要求 823 / 3 部署 系统要求 Exchange 2013 zhou_ping 2013-02-17 ·Exchange 2013 部署:先决条件 752 ...

  5. ES6特性之:参数默认值

    作为一个开发者,跟进行业步伐是非常需要的,不能躺在现有的知识和经验温床上做美梦.JavaScript的ES2015标准(即我们说的ES6)在2016年已经被广泛应用了,还没开始使用的朋友,赶紧来磨一下 ...

  6. python 遍历, 获取目录下所有文件名和文件夹的方法-----os.walk(), os.listdir

    http://www.runoob.com/python/os-walk.html https://www.cnblogs.com/dreamer-fish/p/3820625.html 转载于:ht ...

  7. 一个简易的SocketIM

    今天做了一个简易的socketIM的小示例.基本思想是开启两个winform,每个winform既充当服务器也充当客户端.一个监听8000端口,另外一个监听8001端口,两个winform接收到信息之 ...

  8. spring security learning(spring in action)

    1.使用Spring Security配置命名空间 spring securtiy 提供了安全性相关的命名空间,我们可以将spring security的命名空间声明添加到spring公用的配置xml ...

  9. python(写入 excel 操作 xlwt 模块)

    一.安装 xlwt 模块 pip install xlwt 二.excel 写入操作 这种方式只能新增或者覆盖文件写入 import xlwt # 创建一个workbook 设置编码 workbook ...

  10. AWVS 安全渗透扫描

    1.打开软件,点击 New Scan 2.在 website url 中输入被扫描的网址,点击 next 3.在 scanning profile 中选择测试的漏洞类型,默认选择 default(默认 ...