数据库应用_基础
随笔结构:搭建数据库服务器->数据库服务的基本使用->mysql数据类型
术语:
DB(数据库),依照某种数据模型进行组织并存放到存储器的数据集合.
DBMS(数据库管理系统),用于操纵或管理数据库的服务软件.
DBS(数据系统),即DB+DBMS,指带有数据库并整合了数据库软件的计算机系统.
一,数据库搭建
思路:
装软件包,并启动服务->查看端口及进程->grep 初始密码->用初始密码登录->alter user修改登录密码->使用新密码登录
->临时修改密码策略->用新策略设置密码->永久性修改密码策略.
1.解压tar -xvf mysql-5.7.17.tar,安装yum -y install mysql-community-*.rpm,启动systemctl start mysql,开机自动systemctl enable mysql.
2.查看端口netstat -apntul|grep mysql,查看进程ps -C mysqld
2.1 软件安装后自动创建相关目录及文件
3.查看随机密码:#grep 'password' /var/lib/mysqld.log
4.使用随机密码登录:#mysql -h数据库地址 -u用户 -p随机密码
5.修改登录密码: mysql>alter user root@"localhost" identified by '新密码';
6.使用新密码登录:#mysql -hlocalhost -uroot -p新密码;
7.临时修改密码策略:
7.1 mysql>show variables like '%password%' ; //查看变量
7.2 mysql>set global validate_password_policy=0; //修改密码策略
7.3 mysql>set global validate_passwrod-length=8; //修改密码字符长度
7.4 密码策略细节如下图:
8.永久性修改密码策略: #vim /etc/my.cnf
[mysql]
validate_password_policy=0
validate_passwrod-length=8
:wq退出
二,数据库的基本使用
内容概要:1.连接数据库的方式;2.数据库存储的流程;3.常用SQL命令的规则;4.常用SQL命令的结构化语言;5.库管理命令;6.库名命名规则;
7.表管理命令;8.记录管理命令.
1.连接方式有:1).命令行连接(如mysql -uroot -p密码); b.web页面连接; c.安装图形软件; d.边界脚本(如php,java,python).
2.客户端把数据存储到数据库服务器上的过程:
连接数据服务器->建库(类似于建文件夹)->建表(类似于建文件)->插入记录(记录内容)->断开连接
3.常用SQL命令的规则: a.SQL命令不区分大小写(变量,密码除外); b.每条命令以;结束; c.默认不支持tab键自动补齐; d.使用\c终止命令.
4.常用SQL命令的结构化语言: a.数据定义语言DDL,如create, alter,drop; b.数据操作语言DML,如insert, update, delete;
c.数据控制语言DCL,如grant ,revoke; d.数据事物语言DTL,如commit, rollback, savepoint.
5.库管理命令:
6.库名命名规则:a.仅仅可以使用数字,字母,下划线,不能使用纯数字; b.区分字母大小写,具有唯一性; c.不能使用关键字,特殊字符.
7.表管理命令:
8.记录管理命令
三,mysql数据类型
4个种类:字符类型; 数值类型; 日期时间类型; 枚举类型.
1.字符类型,比如姓名,工作单位,性别,地址等;
定长 char(字符个数) ,字符个数最多255个; 变长 varchar(字符个数),根据实际个数占用空间,但计算会耗费CPU.
例如: mysql> create table db1.t1(name char(5),homeaddress char(50));
mysql>create tabel db1.t2(name char(5),email varchar(30));
2.数值类型,如体重,身高,成绩,消费明细等.
2.1整数型
2.2浮点型
float,double(字符总宽度,小数位数), 例:create table db1.t3(pay float(5,2),id double(4,2));其中的(5,2)示意:总位数为5=小数位2+整数位3
3.日期时间类型,如出生日期,注册日志,交易日期等.
3.1时间函数
例如:mysql> select year(now());
+-------------+
| year(now()) |
+-------------+
| 2019 |
+-------------+
1 row in set (0.00 sec)
insert into db1.t4 values(“jack”,”year(now())”,”time(now())”, “date(now())”,”now()”);
4.没举类型,如兴趣爱好,性别,专业等
4.1单选类型: enum(值1,值2...值n), 例:sex enum("女孩","男孩"),insert into 表名 values("tom","男孩");
4.2多选类型: set(值1,值2...值n),例:likes set("eat","games","music","shopping"), insert into 表名 values("jim" ,"eat,music");
结束.