2.操作数据库

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

Mysql关键字不区分大小写

2.1操作数据库

2.1.1创建数据库

 create database if not EXISTS hello 
 --创建数据库hello并判断是否存在数据库(如果不存在则创建)
 ​

2.1.2删除数据库

 drop database if exists hello
 --删除数据库hello并判断如果存在则删除数据库

2.1.3使用数据库

 use hello
 --选中数据库hello,对其进行操作

2.1.4查看数据库

 show databases
 --查看所有的数据库
 ​
 DESC student  --显示表的结构

2.2数据库的列类型

数值:

  -tinyint 十分小的数据 1字节

  -smallint 较小的数据 2字节

  -int 标准的整数 4字节

  -bigint 较大数据 8字节

  -float 浮点数 4字节

  -double 浮点数 8字节

字符串:

  -char 字符串固定大小 0~255

  -varchar 可变字符串 0~65535 常用的变量String

  -tinytext 微型文本 2^8-1

  -text 文本串 2^16-1 保存大文本

时间日期:

  -date YYYY-MM-DD,日期格式

  -time HH: mm: ss 时间格式

  -datatime YYYY-MM-DD HH: mm: ss 最常用的时间格式

  -timestamp 时间戳,较为常用

  -year 年份表示

null:

  -没有值,未知

  -注意不要使用null进行运算,结果为null

2.3数据库字段属性(重点)

Unsigned:

  -无符号的整数

  -声明了该列不能声明为负数

zerofill:

  -0填充的

  -不足的位数,使用0来填充,int(3),5 --- 005

自增:

  -通常理解为自增,自动在上一条记录上的基础上 + 1(默认)

  -通常用来设计唯一的主键~index,必须是整数类型

  -可以自定义设计主键自增的起始值和步长

非空:

  -not null

  -假设设置为not null,如果不给他赋值就会报错

  -如果不填写值,默认就是null

默认:

  -设置默认的值

  -sex,默认值为男,如果不指定该列的值,则会有默认的值

2.4创建数据库表(重点)

 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` TIMESTAMP DEFAULT null COMMENT '出生日期',
  `address` VARCHAR(100) DEFAULT null COMMENT '地址',
  `email` VARCHAR(50) DEFAULT null COMMENT '邮箱',
  PRIMARY KEY(id)
 
 )ENGINE=INNODB DEFAULT CHARSET=utf8
 /*
 目标:使用SQL语言创建一个school数据库,创建学生表(列、字段)
 注意:
 1、使用英文符号,表的名称和字段尽量使用``括起来
 2、AUTO_INCREMENT 自增设置
 3、字符串引用,用单引号括起来
 4、所有的语句后面加,(英文,)最后一个语句不用加
 5、PRIMARY KEY。主键;一般一个表只有一个主键
 */

格式:

 create table [if not exists] `表名`(
  `字段名` 列类型 [属性][索引][注释],
  `字段名` 列类型 [属性][索引][注释],
  `字段名` 列类型 [属性][索引][注释],
  ...
  `字段名` 列类型 [属性][索引][注释]
 )[表类型][字符集设置][注释]

2.5数据表的类型

 /*
 关于数据库引擎:
  **InnoDB 默认使用**
  *MYISAM 早些年使用**
 */
  MYISAM InnoDB
事务支持 不支持 支持
数据行锁定 不支持 支持
外键约束 不支持 支持
全文索引 支持 不支持
表空间大小 较小 较大约2倍

常规使用操作:

  -InnoDB:安全性高,多表多用户操作

  -MYISAM:节约空间,速度较快

在物理空间存在的位置:

  所有的数据库文件都存在于data目录下;本质还是文件的存储。一个文件夹对应一个数据库

 MySQL引擎在物理文件上的区别

  ·InnoDB在数据库中只有一个 *.frm文件,以及上级目录下的ibdata1文件

  ·MYISAM对应文件

  *.frm :表结构的定义文件

  *.MYD : 数据文件(data)

  *.MYI : 索引文件(index)

设置数据库表字符集编码(utf-8)

 DEFAULT CHARSET=utf8

my.ini中配置默认编码

 character-set-server=utf-8

2.6修改删除表

修改

 --alter table 旧表名 rename as 新表名
 alter table student rename as student1 --修改表的名称(重命名为student1)
 ​
 --alter table 表名 add 字段名 列属性(大小)
 alter table student1 add age int(11) --增加表的字段
 ​
 --alter table 表名 MODIFY 字段名 字段属性
 alter table student1 MODIFY age VARCHAR(11)  --修改表的字段的约束
 ​
 --alter table 表名 change 旧的字段名 新字段名 字段属性
 alter table student1 change age age1 int(10) --修改字段名(重命名-change)
 ​
 --删除表的字段
 alter table student1 drop age1

删除

 --删除表,如果表存在则删除
 drop table if exists student1  --drop table if exists 表名

注意点:

 - `` 字段名,使用这个将字段名包裹
 - 注释:--(单行注释)   /**/(多行注释)
 - SQL关键字大小写不敏感,建议小写
 - 所有的符号全英文状态

MySQL操作数据库的更多相关文章

  1. PHP连接MYSQL操作数据库

    PHP连接MYSQL操作数据库 <?php $con = mysql_connect("localhost","root",""); ...

  2. MySQL操作数据库--与MySQL零距离接触1-7

    第一章 1-7操作数据库 数据库是一个集合:表 索引等. MySQL语句规范: 关键字与函数名称全部大写 数据库名称.表名称.字段名称全部小写 SQL语句必须以分号结尾 语法结构:       {}: ...

  3. nodejs mysql 操作数据库方法二

    node.js 开发指南 – Node.js 连接 MySQL 并进行数据库操作 通常在NodeJS开发中我们经常涉及到操作数据库,尤其是 MySQL ,作为应用最为广泛的开源数据库则成为我们的首选, ...

  4. 操作mysql操作数据库

    操作数据库 查询数据库:show databases: 增加数据库:create database student default character set uft-8:(设置默认字符集) 删除数据 ...

  5. MySQL操作数据库和表的常用命令新手教程

    1.查看数据库 获取服务器上的数据库列表通常很有用.执行show databases;命令就可以搞定. mysql> show databases; 2.创建数据库 mysql> crea ...

  6. python学习之老男孩python全栈第九期_数据库day001知识点总结 —— MySQL操作数据库以及数据表、基本数据类型、基本增删改查、外键定义以及创建

    一. 学习SQL语句规则以及外键 1. 操作文件夹 create database db2; 创建文件夹 create database db2 default charset utf8; 创建文件夹 ...

  7. mysql 操作数据库创建,增删改查

    创建数据库 默认字符编码 默认排序CREATE DATABASE IF NOT EXISTS day11 DEFAULT CHARSET utf8 COLLATE utf8_general_ci; / ...

  8. nodejs mysql 操作数据库方法一详解

    nodejs mysql 数据查询例子 时间 2014-11-11 15:28:01  姜糖水原文  http://www.cnphp6.com/archives/59864 1.安装nodejs 2 ...

  9. MySQL操作数据库和表的基本语句(DDL)

    1.创建数据库: CREATE DATABASE 数据库名; eg.CREATE DATABASE test_ddl;2.创建表 CREATE TABLE 表名(列名 数据类型 约束,...); eg ...

随机推荐

  1. 实战笔记丨JDBC问题定位指南

    JDBC(Java数据库连接性)是Java API,用于管理与数据库的连接,发出查询和命令以及处理从数据库获得的结果集.JDBC在1997年作为JDK 1.1的一部分发布,是为Java持久层开发的首批 ...

  2. 全栈的自我修养: 001环境搭建 (使用Vue,Spring Boot,Flask,Django 完成Vue前后端分离开发)

    全栈的自我修养: 环境搭建 Not all those who wander are lost. 彷徨者并非都迷失方向. Table of Contents @ 目录 前言 环境准备 nodejs v ...

  3. 数据库连接池 --Druid 连接工具类创建_JDBCUtils

    package com.itheima.jdbc_druid; import com.alibaba.druid.pool.DruidDataSourceFactory; import javax.s ...

  4. Syntax error, insert "}" to complete MethodBody

    jsp中代码在Eclipse中打开正常,导入项目导入MyEclipse后显示如下异常: Syntax error, insert "}" to complete MethodBod ...

  5. 《算法笔记》6.7小节 问题 A: 简单计算器

    又是大模拟淦淦淦淦淦淦淦 思路: 这道题我居然用的队列orz. 言归正传,这道题就是模拟计算器.从读题目样例可以发现,数字的个数只比符号的个数多一个,那么这就给我们了思路:用队列,先提前放出一个数,每 ...

  6. 一.前后端分离及drf实现序列化的原理

     为什么要进行前后端分离 可pc.app.pad多端适应 SPA开发模式的流行--单页web应用(只有一html页面) 可实现前后端开发职责清(不分离时,前端是通过后端给的变量并渲染出来方式拿到数据! ...

  7. 日期推算:datetime

    >>> import datetime >>> datetime.datetime.now() datetime.datetime(2020, 5, 20, 23, ...

  8. day17 装饰器(上)

    目录 一.什么是装饰器 二.为什么要有装饰器 三.无参装饰器的使用 一.什么是装饰器 装饰:是对其他已有的事物添加额外具有一定意义的事物 器:是一种工具,在程序内可以定义成函数 合到一起就是: ​ 装 ...

  9. Hadoop集群之浅析安全模式

    集群启动顺序: NameNode启动 NameNode启动时,首先将镜像文件(Fsimage)载入内存,并执行编辑日志(Edits)中的各项操作.一旦在内存中成功建立文件系统元数据的映像,则创建一个新 ...

  10. Zookeeper是什么&怎么用

    1.Zookeeper概述 Zookeeper 是一个开源的分布式协调服务框架 ,主要用来解决分布式集群中应用系统的一致性问题和数据管理问题 2:Zookeeper的特点 Zookeeper 本质上是 ...