系统(DBMS)>数据库(DB)>数据表(Table)>字节(field)
数据库基本操作:CRUD
将操作对象进行分类:
1.库操作
2.表操作(字段)
3.数据操作
新增数据库: create database 数据库名字 [库选项];
例如:CREATE DATABASE mydatabase CHARSET utf8;
库选项:用来约束数据库,分为两个选项
字符集设定:charset/character set 具体字符集(数据存储的编码格式):GBK UTF8
校对集设定:collate 具体校对集(数据比较规则)
注意:数据库不能用关键字(已经被使用的字符)或者保留字(将来可能会用到的)
如果非要使用关键字或者保留字,必须使用反引号(esc英文状态下的标记)
4.中文数据库可以,但必须保证数据库识别,建议不用
5.当创建数据库的sql语句后,
a.在数据库系统中,增加了对应数据库信息
b.会在保存数据库的文件夹下:Data目录,创建一个对应数据库名字的文件夹
c.每个数据库下都保存了opt文件,保存了库选项
6.查看所有数据库: show databases;
7.查看指定部门数据库:模糊查询
show databases like 'pattern'; -- pattern 是匹配模式
%:表示匹配多个字符
_:表示匹配单个字符
8.查看information_开始的数据库
show databases like 'ingormation_%';
show databases like 'ingormation_%'; -- 相当于information%
9.查看数据库的创建语句:
show create database 数据库名字;
10.更新数据库
数据库名字不可修改,
数据库的修改仅限库选项:字符集和校对集(校对集依赖字符集)
Alert database 数据库名字[库选项];
11.删除数据库
drop database 数据库名字;
数据库的删除不是闹着玩的,不要随意删除,先进行备份再操作
12.新增数据表
表与字段是密不可分的,
create table [if not exists]表名(字段名字 数据类型 ,
字段名字 数据类型 -- 最后一行不需要逗号
)[表选项];
a.if not exists :如果表名不存在,那么就创建,否则不执行创建代码;检查功能
b.表选项:控制表的表现
字符集:charset/charset set具体字符集; --保证表中数据存储的字符集
校对集:collate 具体校对集
存储引擎:engine 具体的存储引擎(innodb 和 myisam)
13.任何一个表的数据都必须指定数据库
a.显示所属的数据库
create table 数据库名.表名(); -- 将当前数据表创建到指定数据库下
CREATE TABLE IF NOT EXISTS mydatabase.students (
NAME VARCHAR(10),
gender VARCHAR(10),
number VARCHAR(10),
age INT
)CHARSET utf8;
b.隐式的指定表所属的数据库
先进入到某个数据库环境,然后创建的表自动归属到某个指定的数据库
进入数据库环境:use 数据库名字
--创建数据表 ---进入数据库-- use mydatabase; -- 创建表 create table class (
name varchar(10),
room varchar(10)
)charset utf8;
14.查看数据表
查看所有表
show tables;
查看部分表
模糊匹配:show tables like 'pattern';
--查看以s 结尾的表
show tables like '%s';
15.查看表的创建语句
show create table student;
16.查看表中的字段信息
Desc/describe/show columns from 表名;
17.字段代表的意思
字段名字 字段类型 列属性 索引 列属性 列属性
字段类型 是否允许为空 索引类型(PRI主键) 默认值,大部分为空 扩充(额外的),描述不下了
数据类型 UNI唯一键
Field Type Null key Default Extra
18.修改数据表
表本身存在,还包含字段;表的修改分为两部分:修改表本身和修改字段
a.修改本身:表名和表选项
修改表名:rename table老表名 to 新表名;
b.-- 修改表选项:
ALTER 表名 表选项 [=]
ALTER TABLE my_student CHARSET=GBK;
19.修改字段
a.新增字段
Alter table 表名 add[column] 字段名 数据类型 [列属性] [位置];
位置:字段名可以存放在表中的任意位置
First :第一个位置
After 在哪个字段之后 after 字段名:,默认在最后一个字段之后
b.修改字段
alter table 表名 modify 字段名 数据类型 [属性][位置];