7.26数据库笔记(1)
2018-7-26 16:12:27
cf巨人城2.0就是多了个油炸泰坦还是蛮好玩的!
外面乌云密布很爽,下雨啦啦啦啦!
我觉得数据库没有多神秘,就是保存数据的,无非是数据的增删改查!
就是语句有点麻烦,也许是刚开始,以后结合了python其他语言就可以调用
库简单来把!
先把那个 外键的图拿来,一张图很明白外键的强大!'不需要重复造轮子,说的就是这!'
很恰当的一句话!
一个表可以有好多的外键!!!
1.MySQL下载与安装 下载 如果下载zip形式的需要自己动手做下面东西: 1.配置环境变量 pass 2.开启系统服务 在bin目录所在处开启命令行 mysqld --installl 3.开启mysql net start mysql 初始化服务端: mysqld --initialize-insecure 在根目录里面出现 data目录 默认用户名 root 密码 为空 2.登入mysql : mysql -u root -p 由于密码为空 再按下回车进入mysql 文件夹(数据库) 文件(表) 文件内容(数据行) 3.开始命令阶段: show databases; 查看data目录下所有文件 use 数据库名字; 进入该文件夹(数据库)内部 show tables; 查看该数据库内所有表 select*from 表; 查看该表内所有数据行 创建用户: create user 'alex'@'192.168.1.1' identified by '123123'; create user 'alex'@'192.168.1.%' identified by '123123'; create user 'alex'@'%' identified by '123123'; # 任意一台电脑 授权: 权限 人 grant select,insert,update on db1.t1 to 'alex'@'%'; grant all privileges on db1.t1 to 'alex'@'%'; revoke all privileges on db1.t1 from 'alex'@'%'; 4 SQL语句 创建文件夹: create database db2 default charset utf8; #创建一个数据库并且编码为utf8 操作文件 show tables; #查看表 create table t1(id int,name char(10)) default charset=utf8; #创建一个id整数型,name为10个字节,utf8 create table t1(id int,name char(10))engine=innodb default charset=utf8; #这个是支持事务,原子性操作 create table t3(id int auto_increment,name char(10))engine=innodb default charset=utf8; *****# 在上面基础上id自增 create table t1( 列名 类型 null, 列名 类型 not null, 列名 类型 not null auto_increment primary key, id int, name char(10) )engine=innodb default charset=utf8; # innodb 支持事务,原子性操作 # myisam myisam auto_increment 表示:自增 primary key: 表示 约束(不能重复且不能为空); 加速查找 not null: 是否为空 数据类型: 数字: tinyint int bigint FLOAT 0.00000100000123000123001230123 DOUBLE 0.00000000000000000000100000123000123001230123 0.00000100000123000000000000000 decimal #这个更精准 0.1 字符串:(面试题考过 char()和varchar()) char(10) 速度快() root root varchar(10) 节省空间 root PS: 创建数据表定长列往前放 text 上传文件: 文件存硬盘 db存路径 时间类型 DATETIME enum set create table t1( id int signed not null auto_increment primary key, num decimal(10,5), name char(10) )engine=innodb default charset=utf8; 清空表: delete from t1; truncate table t1; 删除表: drop table t1; 操作文件中内容 插入数据: insert into t1(id,name) values(1,'alex'); 删除: delete from t1 where id<6 修改: update t1 set age=18; update t1 set age=18 where age=17; 查看数据: select * from t1; 外键:(一对多,) (如图所示!!文字显得好乏力!) create table userinfo( uid int auto_increment primary key, name varchar(32), department_id int, xx_id int, constraint fk_user_depar foreign key (department_id) references color(id) )engine=innodb default charset=utf8; create table department( id bigint auto_increment primary key, title char(15) )engine=innodb default charset=utf8; innodb原子操作 今日内容参考博客: http://www.cnblogs.com/wupeiqi/articles/5713315.html 作业: http://images2015.cnblogs.com/blog/425762/201608/425762-20160803224643778-2071849037.png http://www.cnblogs.com/wupeiqi/articles/5729934.html 约法三章: 1. 课下不看视频 2. 笔记梗概 3. 课下整理上课内容 课程安排: MySQL Web框架: - Python - 前端 - MySQL 项目实战: - 简单CURD - 保障系统(博客+BBS+后台管理) - CMDB资产管理 - CRM - 堡垒机 爬虫: - Scrapy 其他: ... MySQL 单机程序(自己DB) 单机程序(公用DB) MySQL:是用于管理文件的一个软件 - 服务端软件 - socket服务端 - 本地文件操作 - 解析指令【SQL语句】 - 客户端软件(各种各样) - socket客户端 - 发送指令 - 解析指令【SQL语句】 PS: - DBMS数据库管理系统 - SQL语句 技能: - 安装 服务端和客户端 - 连接 - 学习SQL语句规则;指示服务端做任意操作 其他类似软件: 关系型数据库:sqllite,db2,oracle,access,sql server MySQL 非关系型数据库:MongoDB,redis