mysql的学习过程记录

  1. 数据
    a) 客观事物的符号表示
  2. 数据量庞大,介质
    a) 纸 u盘 硬盘 网盘
    b) 存储数据越来越大,检索难度变大
  3. 数据库(Database)
    a) 按照一定数据结构存储数据的仓库
  4. 数据库管理系统(DBMS)
    a) 操作管理数据库的一款软件
    A) 关系型数据管理系统(RDBMS)
    采用关系模型管理数据。采用二维表格的形式来简化数据关系实现对数据的管理
    Oracle数据库:oracle公司 大型分布式数据库管理系统
    大型企业,金融,传统企业,国企等 产品免费,服务收费
    Mysql数据库:oracle 公司 针对中小型系统
    开源免费 (闭源风险)
    MariaDB 数据库: Mysql 分支,社区维护
    永久开源(5.5之前和MySQL差不多)
    Sql server Microsoft 中小型企业。只运行与windows
    Db2:IBM公司,中小型公司
    B) 非关系数据管理系统(Nosql)
    Not only sql
    弥补关系型数据库在高io,高可用方面的局限性。
    Redis ,habse ,mongodb ,meo4j(图数据库)
  5. MySQL
    a)初识mysql
    mysql是一个关系型数据库管理系统
    mysql采用关系模型对数据进行管理,采用分表的形式进行管理,对多张表存在的情况下,可用采用分库的形式进行管理。
    mysql数据库管理系统中可以管理多个数据库,在一个数据库中可以存放多张表
    mysql体积小,速度快,开源免费,支持GPL(开源软件许可证)协议
    1996年发布mysql1.0 mysql公司
    2000年正式开源
    2008年被sun以10亿美元收购
    2009年被oracle以74亿美元收购
    b)mysql的下载和安装
    www.mysql.com
    www.oracle.com
    打开服务 services.msc
    Net start mysql57

Data
每创建一个数据库就会创建相应的文件夹
frm保存表的结构信息
my.ini:mysql的配置文件
3)客户端
workbench:mysql自带图形界面
命令行客户端
登录/连接服务端:mysql -uroot -p密码
展示所有的数据库:show databases;
切换数据库:use dbname;
展示所有数据库表:show tables;
启动和关闭服务:net star|stop mysql
图形界面客户端
navicat sqlyog等
主机映射文件:C:\WINDOWS\System32\drivers\etc
表中每一行称为记录,每列名称称为字段。

  1. sql
    1)什么是sql
    structure query language结构化查询语言。关系型数据库中进行操作标准语句。编程语句
    对大小写不敏感;结尾需要使用;
  1. sql分类
    DDL:数据定义语言(数据库对象的操作(结构))
    creat/alter/drop
    DML:数据操纵语言(数据的操作 增删改查)
    insert/update/delete/select
    DCL:数据控制语言(授权 取消授权)
    grant/revoke
    TCL:事物控制语言
    commit/rollback
  1. DDL:
    #创建数据库
    CREATE DATABASE if not exists bd1807;
    #销毁数据库
    drop DATABASE IF EXISTS bd1807;
    #类
    #创建表
    create table userinfo(
    uid int,
    uname varchar(20),
    gender varchar(10)
    );

skip – grant – tables 忘记密码 去my.ini 里面的[mysqld]下面加
修改密码的方式:

  1. my.ini
    [mysqld]
    skip – grant – tables
    命令行:mysqladmin -uroot -p password 新密码
  2. my.ini
    [mysqld]
    skip – grant – tables
    mysql 数据库中修改user表对应的字段
    update user set authentication_string = password(‘root’) where User = ‘root’;
    net start mysql57
    net stop mysql57
    数据类型:
  3. 数值类型:
    int 4 字节 21亿 10位
    浮点数:
    float(m,n): m 总长度 n 小数点位数 默认值 (10 , 2) 精度24位
    double(m,n): 默认值 (16 ,4) 精度53位
    decimal(m,n): 经常用于金融数据保存,必须声明长度和精度
  4. 字符串类型:
    char(n): 定长长度字符串
    varchar(n): 可变长度字符串
    text: 大文本
  5. 日期类型:
    data: 日期 YYYY-MM-DD
    time: 时间 HH:MM:SS
    datetime:日期时间YYYY-MM-DD HH:MM:SS
    1000-01-01 00:00:00 9999-12-31 23:59:59
    timestamp:时间戳 YYYYMMSSHHMMSS
    1970-01 2037-12
    year:年
  6. 其他类型:
    blob:存放二进制数据
    enum:枚举类型
    set:集合类型
    json:json数据
1.	数据库表的创建和结构修改
1)	创建用户表(user)
 字段	类型	长度
  uid	int	
  uname	varchar	20
  password	varchar	20
  birthday	Date	   
2)	向用户表中追加字段email,varchar类型,长度20。
	alter table `user` add email varchar(20);
	
3)	向用户表最前面添加字段status,int类型。
    alter table `user` add status int first;

4)	向用户表password字段后面添加sage,int类型
	alter table user add sage int after password;

5)	修改sage的名称为age
	alter table user change sage age int;

6)	修改password字段的长度为50
    alter table user modify password varchar(50);

7)	修改status到email之后的位置
	alter table user modify status int after email;
	
8)	删除字段status
	alter table user drop status;

9)	修改表的名称为userinfo
	rename table user to userinfo;

10)	清空数据库表
	
11)	销毁数据库表user
    drop table userinfo;
发布了52 篇原创文章 · 获赞 31 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_39361934/article/details/103045356
今日推荐