修改密码
alter user root@localhost identified by ' 密码' 密码是大小写跟特殊字符
sof -i:3306
监听3306端口
lsof /var/log/mysqld.log
查看这个文件是那个进程在用
数据库中得命令一定要加上分号
建库
CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
使用库
use 数据库名字
查看当前库
select database();
status;
查看当前库得默认字符集
show create database 数据库名\G
删除数据库
drop database 数据库名称
关于日期和时间类型的字段
字段类型:DATE
表现形式:YYYY-MM-DD
取值范围:1000-01-01/9999-12-31
创建方法:字段名 DATA
添加数据:values("20191010") 查询到的结果:
2019-10-10```
DATA
YYYY-MM-DD(1000-01-01/9999-12-31)
TIEM
HH:MM:SS('-838:59:59'/'838:59:59')
YEAR
YYYY(1901/2155)
DATETIME
YYYY-MM-DD HH:MM:SS(1000-01-01 00:00:00/9999-12-31 23:59:59 Y)
TIMESTAMP
YYYYMMDD HHMMSS(1970-01-01 00:00:00/2037 年某时)
表操作
CREATE 创建表,在数据库创建对象
ALTER 修改表,修改数据库结构(扩展自修)
DROP 删除表,从数据库中删除对象
TRUNCATE 删除表中所有行(无法回退)
COMMENT 注释(为数据字典添加备注)
RENAME 重命名表(扩展自修)
create table 表名[ IF NOT EXISTS](
列名 类型 [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY] [COMMENT 'string'],
列名 类型
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
存储引擎
MySql的存储引擎:InnoDB
数据库中的一些类型主要用的有
int类型 大多是id、年龄等数字所用的
char类型 这个是有长度限制 没有varchar 能放的字符长度长 主要是非数字字段名所用的字符类型
数据库中还有一些其他的主要名称
auto_increment 自增长
null 为空
primary key 主键
foreign key 外键
数据库中的关系
一个数据库中可以有一张或多张表,大多时候是需要建立很多表来完成业务需求的,一个表中只能有一个主键,但可以有多个外键
主键的值是能唯一的标识表中的每一行 保证了实体的完整行
外键是另一张表中的主键 但在这张表里是外键不属于主键
创建表
create table phy_server(
id int auto_increment primary key, #主键 自增长
host_name varchar(36) unique key not null, #不可重复
server_model varchar(96) not null,
server_sn varchar(128) not null,
server_vendor varchar(96) not null comment "厂商",
board_sn varchar(96),
bios_version varchar(96) not null,
os_version varchar(96) not null,
kernel_version varchar(96) not null,
cpu_phy_num int,
cpu_core_of_phy int,
cpu_model varchar(32),
add_date datetime,
change_date datetime default now() #取当前时间
);
数据库中的基本命令
查看当前库中所有表
mysql> show tables;
+--------------------+
| Tables_in_shark_db |
+--------------------+
| student |
+--------------------+
1 row in set (0.00 sec)
查看表结构
/*查看当前库中指定表的表结构*/
mysql> desc 表名;
/*查看指定库中指定表的表结构*/
mysql> desc 库名.表名;
清空表的内容,表本身还在
delete from 表名 /*自增列的值继续递增,可以加 where 子句*/
truncate table 表名 /*自增列的值重新从 1 开始*/
/*删除表中的所有数据,自增列的值继续递增*/
delete from tb1;
/*删除表中的某些数据,被删除的数据的自增列的值将不会再次出现,自增列的值继续递增*/
delete from tb1 where id < 20;
删除表
drop table 表名 /*整个表将不复存在*/
网友评论