001---mysql

Mysql数据库

数据库相关概念

  • 数据库服务器:运行数据管理软件的计算机

  • 数据库:顾名思义数据仓库,是一个文件夹、存储多个文件(数据表)

  • 数据表:对应一个文件,存储在数据库下

  • 数据:对应文件中的每一行,描述事物特征的符号

  • 数据库管理软件
    • 关系型:需要有表结构(mysql,sqlserver,db2,oracle)

    • 非关系型:key-value结构(redis,mongodb)

用户相关

win

  • 安装为系统服务:mysqld --install

  • 改密码:mysqladmin -uroot -proot password "root"
  • 登录:mysql -uroot -proot
  • 启动:net start mysql56
  • 停止:net stop mysql56

  • 破解密码:mysqld --skip-grant-tables
  • 更新密码:update mysql.user set password=password("密码") where user="root" and host="localhost";
  • 刷新:flush privileges;
  • 杀:taskkill /F /PID ....

  • 查看登陆用户:select user();

linux

  • 破解:mysql_safe --skip-grant-tables

统一字符编码

查看字符编码

统一字符编码

# 修改配置文件
[mysqld]
default-character-set=utf8 
[client]
default-character-set=utf8 
[mysql]
default-character-set=utf8

#mysql5.5以上:修改方式有所改动
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
# 这样在控制台输入mysql可以直接登录
user='root'
password='root'

初识sql语句

操作文件夹(库)

  • 切换文件夹:use db1;

  • 增加:create database db1 charset utf8;
  • 查看:
    • 建库语句:show create database db1;

    • 所有数据库:show databases;

    • 查看当前所在数据库:select database();

  • 修改:
    • 修改字符编码:alter database db1 charset gbk;
  • 删除:drop database db1;

操作文件(表)

  • 增:create table t1(id int,name char) engine=innodb;

  • 删:
    • 删除:drop table t1;

    • 清空表结构:truncate table t1;

  • 改:
    • 修改表字段类型:alter table t1 modify name char(6);

    • 修改表字段名称:alter table t1 change name Name varchar(8);

  • 查:
    • 查看建表语句:show create table t1;

    • 查看所有表:show tables;
    • 查看表结构:desc t1;

操作文件内容(记录)

  • 增:insert into t1(id,name) values(1,'egon'),(2,'egon'),(3,'alex');

  • 删:
    • delete from t1; 自增长并没有改变,不是1,所以尽量与where搭配。

    • delete from t1 where id=1;
  • 改:
    • update t1 set name='sb';

    • update t1 set name='alex' where id=2;
  • 查:
    • select * from t1;

    • select id,name from t1;

sql语言类型

  • DDL语句:数据库定义语言,create drop alter

  • DML语句:数据库操作语言,insert update delete select

  • DCL语句:数据库控制语言,grant revoke

存储引擎

什么是存储引擎

现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处理文本用txt类型,处理表格用excel,处理图片用png等

数据库中的表也应该有不同的类型,表的类型不同,会对应mysql不同的存取机制,表类型又称为存储引擎

存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以称为表类型(即存储和操作此表的类型)

查看存储引擎

show engines;

表操作

创建

create table 表名(
字段名1 类型[(宽度) 约束条件],
字段名2 类型[(宽度) 约束条件],
字段名3 类型[(宽度) 约束条件]
);

注意:

  1. 在同一张表中,字段名是不能相同
  2. 宽度和约束条件可选
  3. 字段名和类型是必须的

查看表结构

desc table1

修改表结构

猜你喜欢

转载自www.cnblogs.com/xjmlove/p/10392940.html
001