文章目录
注意:SQL语句要在每句末尾加分号
一.数据库操作
1.创建数据库
create database blog(数据库名称) default charset=‘utf8’; #default charset 设置编码格式
2.查看数据库
show databases; #显示当前所拥有的所有数据库
3.切换数据库
use blog(任意的数据库名称); #切换或者进入指定的数据库
4.查看当前所使用的数据库
select database();
5.删除数据库
drop database blog(任意的数据库名称);
数据库操作脑图:
二.表操作
- 一个数据库就是一个完整的业务单元,可以包含多张表,数据被存储在表中;
- 在表中为了更加准确的存储数据,保证数据的正确有效,可以在创建表的时候,为表添加一些强制性的验证,包括数据字段的类型、约束。
补充::修饰变量的键
1)字段类型
在MySQL中包含的数据类型很多,这里主要列出常用的几种:
- 数字:int,decimal,float
- 字符串:varchar,text
- 日期:datetime
- 布尔:bool
2) 约束
- 主键 primary key
- 非空 not null
- 唯一 unique
- 默认 default
- 外键 foreign key
- 自动增长 auto_increment
1.查看当前数据库中所有表
show tables;
2.创建表
create table 表名(列及类型);
如:
create table userinfo(
->username varchar(20) not null unique comment '添加描述 ',
->password varchar(20) not null);
#创建表有两列信息:username,password
#username的类型为字符串,字长为20个字节以内的,不可为空,唯一的
char[10]和varchar[10]的区别:
(1)首先明确的是,char的长度是不可变的,而varchar的长度是可变的,
(2)定义一个char[10]和varchar[10],如果存进去的是‘abcd’,那么char所占的长度依然为10,除了字符‘abcd’外,后面跟六个空格,而varchar就立马把长度变为4了,取数据的时候,char类型的要用trim()去掉多余的空格,而varchar是不需要的,
(3)char的存取数度还是要比varchar要快得多,因为其长度固定,方便程序的存储与查找;但是char也为此付出的是空间的代价,因为其长度固定,所以难免会有多余的空格占位符占据空间,可谓是以空间换取时间效率,而varchar是以空间效率为首位的。
(4)char的存储方式是,对英文字符(ASCII)占用1个字节,对一个汉字占用两个字节;而varchar的存储方式是,对每个英文字符占用2个字节,汉字也占用2个字节,两者的存储数据都非unicode的字符数据。
3.查看表内容
select * from userinfo;*
4.查看表结构
desc userinfo;
5.查看创建当前表的sql语句
show create table userinfo;
5.插入
insert (into) userinfo value( ’ ‘,’ ')
6.修改表
alter table userble add gender varchar(3); #添加新的一列
chanage gender sex varchar(3); #将gender列修改为sex
drop sex; #删除sex这一列
7.更改表名
rename table 原表名 to 新表名;
8.删除表
drop table userinfo;
表的主要操作如下:
三.数据操作
1.创建表结构
create table users(
id int primary key auto_increment,
username varchar(20) not null unique,
passwd varchar(20) not null )
2.查看表users的数据,此时为空
select * from users;
select * from users where username='user1';#查看表users中内容为‘user1’对应的所有信息
3.向表中增加数据
insert into users values('1','user1','999'); #全列插入
insert into users(username) values('user2'); #针对username这一列插入内容为‘user1’,其余列自动插入默认值
insert into users(username) values('user3'),('user4');#针对username这一列批量插入内容分别为‘user3’和‘user4’两行,其余列自动插入默认值
4.更新表中数据
update users set passwd='666' where username='user2';# 将表users中user2对应的passwd修改为‘666’
5.删除表中数据信息
delete from users where username='user4';#删除表users中user1的所有数据信息
6.逻辑删除
alter table users add isdelete bit default 0;
update users isdelete=1 where username='user4';
#向表users中添加isdelete代码,isdelete为1 时删除,删除user4相关的所有数据信息
查看文件的大小:du -sh 文件名
7.数据备份与备份恢复
mysqldump -uroot -pwestos 要备份的文件的数据库名>新的备份文件.sql #备份
mysql -uroot -pwestos 本地存在的数据库名<备份文件.sql #这里的数据库名指要将备份恢复到的数据库,备份文件.sql前面加绝对路径
数据操作如下:
数据备份与恢复如下: