赞
踩
开源的数据库软件
体积小,速度快,总体拥有成本低,招人成本比较低,所有人必须会~。
中小型网站,或者大型网站,集群
官网: https://www.mysql.com/
mysql -uroot -p123456 -- 连接数据库 update mysql.user set authentication_string=password('123456') where user='root' and host='localhost'; -- 修改用户密码 flush privileges; -- 刷新权限 ---------------------------- -- 所有的语句都使用;结尾 show databases; -- 查看所有的数据库 mysql> use school; -- 切换数据库 use 数据库名 Database changed mysql> show tables; -- 显示数据库中所有表的信息 mysql> describe student; -- 显示表的详细信息 create database zyy; -- 创建一个数据库(这里过于简洁,后面详细介绍) exit -- 退出连接 -- 单行注释 /** 多行注释 */
名称 | 解释 | 命令 |
---|---|---|
DDL (数据定义语言) | 定义和管理数据对象,如数据库,数据表等 | CREATE、DROP、ALTER |
DML (数据操作语言) | 用于操作数据库对象中所包含的数据 | INSERT、UPDATE、DELETE |
DQL (数据查询语言) | 用于查询数据库数据 | SELECT |
DCL (数据控制语言) | 用于管理数据库的语言,包括管理权限及数据更改 | GRANT、commit、 rollback |
CREATE DATABASE [IF NOT EXISTS] student;-- create database [if not exists] 数据库名;
DROP DATABASE [IF EXISTS] westos;-- drop database [if exists] 数据库名;
-- tab 键上面,如果你的表名或者字段名是一个特殊字符,就需要带``
USE `school`--use 数据库名;
SHOW DATABASES; -- 查看所有的数据库
数值
int 标准的整数 4个字节
bigint 较大的数据 8个字节
float 浮点数 4个字节
double 浮点数 8个字节
decimal 字符串形式的浮点数 (金融计算的时候,一般是使用decimal)
字符串
时间日期 java.util.Date
date YYYY-MM-DD 日期格式
time HH:mm:ss 时间格式
datetime YYYY-MM-DD HH:mm:ss 最常用的时间格式
timestamp 时间戳,1970.1.1到现在的毫秒数!较为常用!
year 年份表示
null
Unsigned:
Zerofill:
自增:
非空 null/not null:
默认:
拓展:
/*
每个表,都必须存在以下五个字段 未来做项目用的,表示一个记录存在的意义
id 主键
version 乐观锁
is_delete 伪删除
gmt_create 创建时间
gmt_update 修改时间
*/
-- 目标:创建一个school数据库 -- 创建student学生表,使用sql创建 -- 学号 姓名 性别 出生日期 家庭地址 email -- 注意点:使用英文() 表的名称和字段尽量使用``括起来 -- AUTO_INCREMENT 自增 -- COMMENT 属性注释 -- DEFAULT 默认值 -- 字符串使用单引号括起来 -- 所有的语句后面加上英文逗号,最后一个不加 -- PRIMARY KEY主键,一个表一般只有一个唯一的主键 CREATE TABLE IF NOT EXISTS `student` ( `id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '学号', `name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名', `sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性别', `birthday` DATETIME NOT NULL COMMENT '出生日期', `address` VARCHAR(100) DEFAULT NULL COMMENT '家庭地址', `email` VARCHAR(30) DEFAULT NULL COMMENT '邮箱', PRIMARY KEY(`id`) ) ENGINE=INNODB DEFAULT CHARSET=utf8 -- 查看建立数据库的语句 SHOW CREATE DATABASE SCHOOL DESC STUDENT --显示表的结构
CREATE TABLE [IF NOT EXISTS] `表名` (
`字段名` 列类型[属性] [索引] [注释],
`字段名` 列类型[属性] [索引] [注释],
`字段名` 列类型[属性] [索引] [注释],
...
)[表类型][字符集设置][注释]
SHOW CREATE DATABASE `school` ; -- 查看创建数据库的语句
SHOW CREATE TABLE `student`; -- 查看student数据表的定义语句
DESC `student`; -- 查看表的结构
MYISAM | INNODB | |
---|---|---|
事务支持 | 不支持 | 支持 |
数据行锁定 | 不支持 | 支持 |
外键约束 | 不支持 | 支持 |
全文索引 | 支持 | 不支持 |
表空间的大小 | 较小 | 较大,约为MYISAM的2倍 |
常规使用操作:
在物理空间存在的位置
mysql引擎在物理文件上的区别
设置数据库表的字符集编码
CHARSET=utf8
character-set-server=utf8
-- 修改表名. ALTER TABLE 旧表名 RENAME AS 新表名
ALTER TABLE teacher RENAME AS teacher1
-- 增加表的字段. ALTER TABLE 表名 ADD 字段名 列属性
ALTER TABLE teacher1 ADD age INT(11)
-- 修改表的字段 (重命名,修改约束!)
-- ALTER TABLE 表名 MODIFY 字段名 列属性[]
ALTER TABLE teacher1 MODIFY age VARCHAR(11) -- 修改约束
-- ALTER TABLE 表名 CHANGE 字段名 新名字 列属性[]
ALTER TABLE teacher1 CHANGE age age1 INT(1)-- 字段重命名
-- 删除表的字段:ALTER TABLE 表名 DROP 字段名
ALTER TABLE teacher1 DROP age1
-- 删除表(如果存在再删除)
DROP TABLE IF EXISTS teacher1
所有的创建和删除操作尽量加上判断,以免报错.
注意点:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。