二、数据库

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. docker 部署FastDFS

    教程:https://blog.csdn.net/fangchao2011/article/details/103202591 教程:https://www.jianshu.com/p/3f80cba ...

  2. HTML JavaScript 基础(下)

    一.JavaScript 函数 1.普通函数-有函数名 function func(){ } 2.匿名函数-无函数名 setInterval(function(){ console.log(123); ...

  3. Font-Awesome使用教程

    何为Font-Awesome Font Awesome gives you scalable vector icons that can instantly be customized — size, ...

  4. 无法打开到SQL Server的连接 (Microsoft SQL Server, 错误:53) .

    标题: 连接到服务器 ------------------------------ 无法连接到 MSSQLSERVER. ------------------------------ 其他信息: 在与 ...

  5. RHCS图形界面建立GFS共享下

    我们上面通过图形界面实现了GFS,我们这里使用字符界面实现 1.1.       系统基础配置 5台节点均采用相同配置. 配置/etc/hosts文件 # vi /etc/hosts 127.0.0. ...

  6. 使用CXF开发Web Service服务

    1.使用CXF开发Web Service服务端 1.1 开发一个Web Service业务接口,该接口要用@WebService修饰 (1)创建一个Java项目MyServer (2)在MyServe ...

  7. 打造livecd的注意事项

    一:在CentOS.ks的定制脚本中,删除syslinux组件:出错提示: /usr/lib/python2.6/site-packages/imgcreate/errors.py:45: Depre ...

  8. Linux下Wiki服务器的搭建

    一.准备工作 1.软件下载和安装 最主要的就是安装好Mysql+apache+PHP 测试apache能够解析index.php文件后就可以. mysql安装好后: adduser wiki   #给 ...

  9. android自定义View&自定义ViewGroup(上)

    一般自定义view需要重写的方法 void onMeasure(int widthMeasureSpec, int heightMeasureSpec) void onSizeChanged(int ...

  10. .NET Core+WebApi+EF访问数据新增用户数据

    新建一个.NET Core项目,我使用的IDE是VS2019 依次创建三个Core类库:第一个命名api.Model,第二个api.Common,第三个api.Bo 解释一下这个三类库的作用: 第一个 ...