二、数据库

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. 素数&欧拉函数

    素数表 const int maxN找[1,maxN)内的素数 int prime[int I]第I个素数 const int maxN=1e5+5; int prime[maxN]; bool ma ...

  2. 【Netapp】在模拟器中使用disk removeowner报错

    报错信息如下: Cluster2::storage disk*> removeowner NET-1.43 Error: command failed: Disk NET-1.43 is not ...

  3. 在CentOS 7中安装配置JDK8

    为什么80%的码农都做不了架构师?>>>   ###说明 参考博客:http://blog.csdn.net/czmchen/article/details/41047187 系统环 ...

  4. Frame Relay Voice Traffic Shaping and Frament

    本文全称应该是:Frame Relay Voice-Adaptive Traffic Shaping and Fragmentation,标题限制字数,没办法了   帧中继的流量整型向来是个头疼的地方 ...

  5. 数学--数论--Miller_Rabin判断一个大数是不是素数(随机算法)

    前提知识 1,费马定理:ap−1=1(mod p)a^{p-1}=1(mod\ p)ap−1=1(mod p)

  6. 网络流--最大流--POJ 2139(超级源汇+拆点建图+二分+Floyd)

    Description FJ's cows really hate getting wet so much that the mere thought of getting caught in the ...

  7. varnish 项目实战

    1.工作原理 在当前主流的Web服务架构体系中,Cache担任着越来越重要的作用.常见的基于浏览器的C/S架构,Web Cache更是节约服务器资源的关键.而最近几年由FreeBSD创始人之一Kamp ...

  8. Jetson AGX Xavier/Ubuntu更改pip3源

    pip3换源: 修改~/.pip/pip.conf,如果没有这个文件,就创建一个. 内容如下: [global]index-url = https://pypi.tuna.tsinghua.edu.c ...

  9. Spring 框架介绍 [Spring 优点][Spring 应用领域][体系结构][目录结构][基础 jar 包]

    您的"关注"和"点赞",是信任,是认可,是支持,是动力...... 如意见相佐,可留言. 本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新. 目录 ...

  10. c语言中的malloc函数

    少壮不努力,大一的时候c语言学得不扎实,最近学数据结构的时候看到c语言中malloc函数都不知道了,这里记录一下,避免以后再忘. malloc的全称是memory allocation,中文叫动态内存 ...