数据库 基础及命令

数据库

    

1,装包

删除系统自带mariadbmysql数据库软件

Rpm-qa | grep -i mariadb

安装mysql软件

Yum-y install perl-JSON

Yum-y install mysql-community-*.rpm

2,修改配置文件,让密码策略永久有效

Vim/etc/my.cnf

[mysqld]

validate_password_policy=0

validate_password_length=6 密码长度为6

character-set-server=utf8 支持中文

3,启动服务

Systemctlstart mysqld

Systemctlenable mysqld

4,查看服务进程端口号

ps-C mysqld

netstat-utnlp | grep mysqld

一:数据库服务的基本使用

greppassword /var/log/mysqld.log 提取root用户的随机密码

mysql-uroot -p'hqToPwaqf5,g!><'

在丢失密码的时候可以这样

mysqld_safe –skip-grant-tables&

mysql -u root mysql

mysql> UPDATE user SET password=PASSWORD(“new password”) WHERE

user=’root’;

mysql> FLUSH PRIVILEGES;

1,管理数据库的sql命令

show databases; //查看

create database 库名;//创建库

use 库名; //切换库

drop database 库名;//删除库

select database(); //显示当前所在的库

select version(); //显示mysql的版本

select((4*4)/2)+18; //可以当计算器用

2,管理表的sql命令

show tables; //查看

createtable 表名(namechar(10),

sexchar(2),);

droptable 库名表名; //删除表

select * from表名; //查看表记录

desc表名; //查看表结构

3,管理记录的sql命令

insertinto 表名 values(字段值列表);

例:insertinto 表名values(“tom”,”beijin”);

update库名.表名 set 字段名=where 条件;

delete from 表名; //删除

二:数据库类型

  • 数值类型

类型

大小

范围(有符号)

范围(无符号)

用途

smallint

2字节

-32768~32767

0~ 65535

小整数

mediumint

3字节

-223~ 223-1

0~ 224-1

中整数

int

4字节

-231~ 231-1

0~ 232-1

大整数

bigint

8字节

-263~ 263-1

0~ 264-1

极大整数

float

4字节



单精度浮点数

double

8字节



双精度浮点数

decimal

DECIMAL(M,D),其中M为有效位数、D为小

数位数,M 应大于D,占用M+2字节

tinyint

1字节

-128~127

0~ 255

微小整数


1,数值类型-->整数类型(只能存储整数)

例: create table t1(level smallint,age tinyint);

insertinto t1 values(1024,19),(9,21);

关于整数型字段,使用UNSIGNED修饰时,对应的字段只保存正数,数值不够指定宽度时,在左边填空

格补位,宽度仅是显示宽度,存数值的大小由类型决定,使用关键字ZEROFILL,0代替空格补

位,使用关键字ZEROFILL,0代替空格补位

例:createtable t1(id tinyint unsigned zerofill);

关于浮点型字段

定义格式:float( 总宽度,小数位数)

当字段值与类型不匹配时,字段值作为0处理

数值超出范围时,仅保存最大/最小值

createtable t2(pay float(7,2));

2,字符类型

定长:char( 字符数)

最大长度255字符

不够指定字符数时在右边用空格补齐

字符数断超出时,无法写入数据

定长:char( 字符数)

最大长度255字符

不够指定字符数时在右边用空格补齐

字符数断超出时,无法写入数据

大文本类型:text/blob

字符数大于65535存储时使用

日期时间类型

year YYYY 2018

日期 date YYYYMMDD 20180423

时间 time HHMMSS 161958

日期时间datetime/timestamp

YYYYMMDDHHMMSS 20180423161958

获取日期时间函数

now()获取当期系统的时间

year(日期时间)获取指定时间中的年

month(日期时间)获取指定时间中的月

date(日期时间)获取指定时间中的日期

day(日期时间)获取指定时间中的号(天)

time(日期时间)获取指定时间中的时间

枚举类型(插入记录时 记录的值 在列举的范围内选择

enum(值列表) 单选

set(值列表) 多选

修改表结构

  • 基本用法

  • altertable 表名执行动作;

  • 执行动作;添加字段(add),修改字段类型(modify),修改字段名(change)删除字段(drop),修改表名(rename)

  • 添加新字段,基本语法

  • altertable 表名add字段名类型(宽度)约束条件;可加after字段名或者first;

  • 例:altertable user id int(2) zerofill primary key auto_increment first;

  • 修改字段类型

  • altertable 表名modify字段名类型(宽度)约束条件;可加after字段名或者first;

  • altertable nb modify 性别enum('boy','gril','dog');

  • 修改字段名

      • altertable 表名chage源字段名新字段名 类型(宽度)约束条件;

  • 删除字段

      • altertable 表名drop字段名;

  • 修改表名

      • altertable 表名rename新表名;提示:表对应的文件也会改变

  • 索引

-索引是对记录集的多个字段进行排序的方法

  • 优点

-通过创建唯一性索引,可以保证数据库表中每一行数

据的唯一性

-可以加快数据的检索速度

  • 缺点

-当对表中的数据进行增加、删除和修改的时候,索引

也要动态的维护,降低了数据的维护速度

-索引需要占物理空间

  • 键值类型

-index 普通索引

-unique 唯一索引

-fulltext 全文索引

-primary 主键

-foreignkey 外键

  • index一个表中可以有多个INDEX字段,字段的值允许有重复,且可以赋NULL值,经常把做查询条件的字段设

  • 置为INDEX字段,INDEX字段的KEY标志是MUL

  • 建表的时候指定索引字段

-index(字段1),index(字段2.。。。。。。。。。

例:mysql>createtable xhh(id char(6) not null,

>namevarchar(15) not null,

>ageint(3) not null,

>index(id),index(name));

  • 在已有的表中设置INDEX字段

-CREATEINDEX 索引名ON表名(字段名);

  • 删除指定表的索引字段

-DROPINDEX 索引名on表名;

  • 查看表的索引信息

-SHOWINDEX FROM 表名;

  • 主键(primarykey

-一个表中只能有一个primarykey 字段

-对应的字段值不允许有重复,且不允许赋NULL

-如果有多个字段都作为PRIMARYKEY ,称为复合主键,必须一起创建

-主键字段的KEY标志是PRI

-通常与AUTO_INCREMENT连用

-经常把表中能够唯一标识记录的字段设置为主键字段

在已有的表中设置PRIMARYKEY 字段

ALTERTABLE 表名ADDPRIMARY KEY( 字段名);

移除表中的PRIMARYKEY 字段

ALTERTABLE 表名DROPPRIMARY KEY;

  • foreignkey 外键

-让当前表字段的值在另一个表中字段值的范围内选择

-外键使用条件

1,表的存储引擎必须是innodb

2,字段类型要一致

3,被参照字段必须要是索引类型的一种(primarykey)

-基本用法

foreignkey ( A的字段名)References B(字段名)

onupdate cascade on delete cascade

-删除外键字段

ALTERTABLE 表名DROPFOREIGN KEY 约束名;             


猜你喜欢

转载自blog.csdn.net/woaini1314520_xhh/article/details/80460029