MySQL操作数据库
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操作数据库的更多相关文章
- PHP连接MYSQL操作数据库
PHP连接MYSQL操作数据库 <?php $con = mysql_connect("localhost","root",""); ...
- MySQL操作数据库--与MySQL零距离接触1-7
第一章 1-7操作数据库 数据库是一个集合:表 索引等. MySQL语句规范: 关键字与函数名称全部大写 数据库名称.表名称.字段名称全部小写 SQL语句必须以分号结尾 语法结构: {}: ...
- nodejs mysql 操作数据库方法二
node.js 开发指南 – Node.js 连接 MySQL 并进行数据库操作 通常在NodeJS开发中我们经常涉及到操作数据库,尤其是 MySQL ,作为应用最为广泛的开源数据库则成为我们的首选, ...
- 操作mysql操作数据库
操作数据库 查询数据库:show databases: 增加数据库:create database student default character set uft-8:(设置默认字符集) 删除数据 ...
- MySQL操作数据库和表的常用命令新手教程
1.查看数据库 获取服务器上的数据库列表通常很有用.执行show databases;命令就可以搞定. mysql> show databases; 2.创建数据库 mysql> crea ...
- python学习之老男孩python全栈第九期_数据库day001知识点总结 —— MySQL操作数据库以及数据表、基本数据类型、基本增删改查、外键定义以及创建
一. 学习SQL语句规则以及外键 1. 操作文件夹 create database db2; 创建文件夹 create database db2 default charset utf8; 创建文件夹 ...
- mysql 操作数据库创建,增删改查
创建数据库 默认字符编码 默认排序CREATE DATABASE IF NOT EXISTS day11 DEFAULT CHARSET utf8 COLLATE utf8_general_ci; / ...
- nodejs mysql 操作数据库方法一详解
nodejs mysql 数据查询例子 时间 2014-11-11 15:28:01 姜糖水原文 http://www.cnphp6.com/archives/59864 1.安装nodejs 2 ...
- MySQL操作数据库和表的基本语句(DDL)
1.创建数据库: CREATE DATABASE 数据库名; eg.CREATE DATABASE test_ddl;2.创建表 CREATE TABLE 表名(列名 数据类型 约束,...); eg ...
随机推荐
- 线性dp 打鼹鼠
鼹鼠是一种很喜欢挖洞的动物,但每过一定的时间,它还是喜欢把头探出到地面上来透透气的.根据这个特点阿Q编写了一个打鼹鼠的游戏:在一个n*n 的网格中,在某些时刻鼹鼠会在某一个网格探出头来透透气.你可以控 ...
- python脚本中调用其他脚本
如果只关注脚本中调用他脚本直接看代码30行 PS:该脚本功能有:自动清理目录,创建目录,自动运行脚本,以此提升工作效率 import numpy as np import os from shutil ...
- Canvas干货总结
一.canvas简介 <canvas> 是 html5 新增的,一个可以使用脚本(通常为 javascript) 在其中绘制图像的 html 元素.它可以用来制作照片集或者制作简单的动画 ...
- 一个很酷炫也挺实用的JS库leader-line
简单粗暴,直入主题,看看效果再说. 是不是这效果挺棒?这样的效果在做系统时,可以有很多的应用,可以让枯燥的页面生动起来. 具体效果,大家可以上这个搜索网站Mag[i]上面看,切身体会一下. 这是一个开 ...
- 循序渐进VUE+Element 前端应用开发(14)--- 根据ABP后端接口实现前端界面展示
在前面随笔<循序渐进VUE+Element 前端应用开发(12)--- 整合ABP框架的前端登录处理>简单的介绍了一个结合ABP后端的登陆接口实现前端系统登陆的功能,本篇随笔继续深化这一主 ...
- css定位方式有哪几种?
复杂的网页布局都是通过各种网页元素灵活定位实现的,网页中的各种元素定位都有自己的特点.下面我们来看一下css的几种定位方式. float定位(即浮动定位): 这种定位方式很简单,只需规定一个浮动的方向 ...
- h5手机摇一摇功能实现:基于html5重力感应DeviceMotionEvent事件监听手机摇晃
DeviceMotionEven是html5提供的一个用来获取设备物理方向及运动的信息(比如陀螺仪.罗盘及加速计)的Dom事件,事件描述如下: deviceorientation:提供设备的物理方向信 ...
- css伪选择器使用总结——css中关于伪类和伪元素的知识总汇
CSS 伪类用于向某些选择器添加特殊的效果,而CSS引入伪类和伪元素的概念是为了实现基于文档树之外的信息的格式化.这里讲总结关于css伪类和伪元素的相关使用 伪元素 :before/:before 在 ...
- 你从来没了解过的CSS浮动
浮动到底是做什么呢?他们是如何影响相关元素的盒模型的呢?浮动的元素与内联元素有什么不同呢?制定浮动元素的位置的具体规则是什么?clear属性是如何工作的,并且它的作用是什么? 即使是经验丰富的开发者也 ...
- js常用删除
1.对象删除 1.1删除属性 用(delete 对象.属性 )的方式进行: var people={"name":"zhangsan",age:18}; del ...