存储数据:
首先建立数据库
之后建立数据表
操作数据
数据有哪些操作(CURD)
C => CREATE UPDATE READ DELETE(DROP)
1 库操作:database
① 查看数据库: show databases like “条件”;完整命令
Show databases;
Show databases like ‘%t%’;
通配符:%可以任意长度的字符串,包括空字符串
例: showdatabases like ‘%itcast%’; 全匹配
Show databases like ‘%itcast’; 前匹配
Show databases like ‘itcast%’; 后匹配
_下划线可以匹配任意一个字符
例:show databases like ‘_itcast’; 不包括空字符
数据库命名规则:可以使用字母,下划线,数字。
注意:
尽量不要使用系统保留字作为数据库、表、字段的名称。
尽量使用小写字母,原因是linux这种操作系统是大写有区分,如果库名比较长,不要使用驼峰法,如果userInfo 建议使用user_info。
② 查看数据库的创建资料
Show create database数据库名;
Show create database itcast;
③ 创建数据库
简单方式:
Create database 数据库名;
Create databases itcast2;
如果没有指定数据的字符集,则使用数据库安装时的默认字符集。
有四个级别的字符集:
服务器级:
数据库级:
数据表级:
字段级:
数据库安装时需要指定字符集,并不是数据库只支持这一种字符集。
容错方式:
Create database if not exists itcast2;
库名包裹方法
就是用反引号将库名包裹起来
Create database `match`;
当然库名表名字段名不是保留字最好也加上反引号。
指定字符集:
Create database itcast default charset=gbk;
Mysql中是utf8而不是utf-8;
④修改数据库:alter
Alter database 数据库名 选项
我们都要什么选项:字符集和校对规则
每创建一个数据库都会创建db.opt,下面的那行为校对规则。
Alter database itcase charset=utf8;
⑤删除数据库
Dropdatabase if exists 库名
Dropdatabase if exists itcast;
如果删除数据库,则数据库所有数据及文件全部都没有了。
2 表操作
① 创建表
Create table表名 (字段定义) 表选项
Create table student_info
(
Student_id int,
Student_name varchar(20)
)
创建表之前选择数据库,使用use库名的方法指定数据库。
也可以在创建时写成itcast.student_info;
② 查看数据表,show
格式:show tables 查看所有的表
也支持条件查询,模糊查询
Show table like ‘student_info%’;
查看表的创建信息
格式:show createtable student_info;添加\G使内容更清晰
③ 查看表结构 desc, describe
格式:Desc 表名
格式:showcolumns from 表名
Show columns from student_info;
④ 修改表结构 alter
格式:alter 表名修改内容1, …,…
Modify 修改字符串属性
Alter table student_info modify student_name varchar(30);
Alter table student_info modify student_name studentnamevarchar(20);
Change可以该字段名
Alter table student_info change student_name studentnamevarchar(20);
Add 可以增加字段
Alter table student_info add gender char(1) after student_name;
增加了字段同时指定了放置的顺序
Drop 可以删除字段
Alter table student_info drop gender;
⑤ 复制表
格式:createtable like 或者 select
先插入一条数据,然后复制表结构
Create table student_copy like student_info;此时没有数据,只是复制表结构
同时复制数据呢?
Create table student_copy select * from student_info;
⑥ 交换表名的技巧,rename
本身
Rename table student_info to student_tmp, student_copyto student_info,
Student_tmp to student_copy
⑦ 删除表
Drop table if exists student_copy2; 执行第二次不报错。