数据库分类关系型数据库(数据放入表里表放进库里)、非关系型数据库
关系型数据库数据以表格的形式存储。非关系型数据库数据(关系复杂的数据)以键值对或文本存储
DB数据库 CDMS数据库管理系统 SQL结构化查询语言
数据持久化:可以永久保存,还可以随时取出来
安装mysql的命令sudo apt-get install mysql-server
安装mysql-client客户端sudo apt-get install mysql-client
进入mysql数据库的命令mysql -u用户名 -p
检查是否安装成功:sudo netstat -tap | grep mysql
启动服务:service mysql start
关闭服务:service mysql stop
重启服务:service mysql restart
退出mysql:quit;和quit或者exit和exit;或者Ctrl+d
创建数据库:create database python3 charset=utf8;
删除数据库:drop database python3;
创建表: use python3; 然后
create table students(
id int(10) auto_increment primary key not null,
name varchar(40)
) charset=utf8;
删除students表的命令drop rable students
查看所有数据库show databases;
选择同python3数据库:use python3;
把当前数据库所有表列出来:show tables;
查看students表的结构:desc students;
查看students表的所有数据:select * from students;
查看students表的id=1数据:
select * from students where id=1;或者select id=3 from students
删除students表id=1数据:delete from students where id=1;
修改students表id=1数据:update students set id=2 where id=1;
在students表增加一个id=3 name=“lm”的数据:
insert into students(id,name) values(3,"lm");
查看当前使用的或者说选中的是哪个数据库:select database();
查看用户信息 use mysql;使用这个数据库 select user,host from user;
增加新用户
#创建一个afu的用户,并赋予权限访问atguigudb数据库。
grant all privileges on atguigudb.* to afu@"%" identified by "123456" with grant option;
grant select on 数据库.* to 用户名@登录主机 identified by "密码" ;
实例代码:
grant select on atguigudb.* to afu@192.168.1.12 identified by "123456";
更改密码:在Linux系统中 mysqladmin -u用户名 -p"旧密码" password"新密码"
字段类型
数字:int,decimal(小数的)
decimal(5,2)的意思是,最大5位数,其中小数2位,1.2和2.33都行,但10000.21就不行,超出位数了
字符串:char ,varchar,text
text存储比较多的字符串,比如商品的描述信息
char存储的是固定的字符串数据
varchar存储的是可变的数据
存储的是字符
char(8)存储的数据不满8个字符会在右侧自动补上空格字符-->"abcd "
日期:datetime,data,time
布尔:bit(8)八个二进制位bit表示一个位存储性别的时候:存储0或者1开销少
创建表的参数
主键primary key;不能重复,唯一标识,物理的存储方式,速度快
非空not null;比如要姓名不能为空,当保存为null的时候就会报错。
惟一unique;这个值是唯一的。有重复的了会报错(比如身份证)
默认default;如果不写就会有个默认值,这种叫默认,只有类型。
auto_increment 是自动增长,自动增长的数由mysql服务维护
在表中添加一个字段(尽量不要这样添加,创建的时候留出空列)
在tab_name表中增加一个名为address的字段且类型为varchar(20)
alter table tab_name add address varchar(20);
删除表中的字段
在tab_name中将address字段删除
alter table tab_name drop address;
把id主键自生长删除:alter table tab_name change id id int(10)
删除主键alter table tab_name drop primary key
修改MySQL中字段的类型和长度
MySQL修改字段类型的命令是:
mysql> alter table 表名 modify column 字段名 类型;
假设在MySQL中有一个表为:address,有一个字段为city 初始情况下为varchar(30),那么修改类型为char可以在MySQL控制台输入:
alter table address modify column city char(30
数据备份 ~/Desktop桌面
1 进入超级管理员sudo -s
2 进入mysql库目录cd /var/lib/mysql
3 运行mysqldump命令:mysqldump -uroot -p 数据库名 > /home/备份文件.sql;
恢复
1、创建数据库:create database python3 charset=utf8;
mysql -uroot -p 数据库名 < ~/Desktop/备份文件.sql(目录)
在mysql中导入数据source areas.sql