首页 > 代码库 > 看到别人写的代码,我该从何入手
看到别人写的代码,我该从何入手
如今社会代码横行的年代,到处都是代码,看到代码自己一脸懵逼,该怎末办,从头再学,还是保持原态。社会已经被代码侵占,没有代码,社会将不知何去何从。
比如:
mySQL:是用于管理文件的一个软件
- 服务端软件
- socket服务端
- 本地文件操作
- 解析指令【SQL语句】
- 客户端软件(各种各样)
- socket客户端
- 发送指令
- 解析指令【SQL语句】
PS:
- DBMS:数据库管理系统
- SQL语句
需要掌握的技能:
- 安装 服务端和客户端
- 连接
- 学习SQL语句规则;指示服务端做任意操作
其他类似软件:
关系型数据库:sqllite,db2,oracle,access,sql server MySQL
非关系型数据库:MongoDB,redis
MySQL安装
Windows:
可执行文件安装:
while True:
下一步
压缩包
放置任意目录
初始化
服务端:E:\somewhere\mysql-5.7.16-winx64\bin\mysqld --initialize-insecure
# 默认用户名 root 密码:空
启动服务端:
E:\somewhere\mysql-5.7.16-winx64\mysql-5.7.16-winx64\bin\mysqld\mysqld
客户端连接:
E:\somewhere\mysql-5.7.16-winx64\mysql-5.7.16-winx64\bin\mysqld\mysql -u root -p
发送指令:
show databases;#查看数据库
create database db1;创建数据库
环境变量的配置:
E:\somewhere\mysql-5.7.16-winx64\mysql-5.7.16-winx64\bin
mysqld 添加到系统环境变量PATH
windows服务:(制作成为Windows服务,可开机自动运行)
E:\somewhere\mysql-5.7.16-winx64\mysql-5.7.16-winx64\bin\mysqld --install
net start MySQL
E:\somewhere\mysql-5.7.16-winx64\mysql-5.7.16-winx64\bin\mysqld --remove
net start MySQL
net stop MySQL
关于连接数据库
连接:
默认:用户root
show databases;
use 数据库名称; #使用数据库
show tables; #查看数据表
select * from 表名; #查询
select name,age,id from 表名;
mysql数据库user表 #系统自带(存放mysql用户账号信息)
use mysql;
select user,host from user;
创建用户:
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‘@‘%‘;
学习SQL语句规则
操作文件夹
create database db2;
create database db2 default charset utf8; *****
show databases;
drop database db2;
操作文件
show tables;
create table t1(id int,name char(10)) default charset=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; *****
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: 是否为空
数据类型:
数字:(注意区分有无符号,unsigned,signed)
tinyint
int
bigint
FLOAT
0.00000100000123000123001230123
DOUBLE
0.00000000000000000000100000123000123001230123
0.00000100000123000000000000000
decimal (精确小数表示,底层用字符串实现,推荐使用)
0.1
字符串:
char(10) 速度快()
varchar(10) 节省空间
PS: 创建数据表定长列往前放
text类型:最大字符65535
上传文件:
文件存硬盘
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 bigint auto_increment primary key,
name varchar(32),
department_id int,
constraint fk_user_depar foreign key (department_id) references department(id),
)engine=innodb default charset=utf8;
create table department(
id bigint auto_increment primary key,
title char(15)
)engine=innodb default charset=utf8;
本文出自 “11923848” 博客,请务必保留此出处http://11933848.blog.51cto.com/11923848/1933259
看到别人写的代码,我该从何入手