MySQL数据库起步 关于数据库的基本操作(更新中...)

时间:2022-02-26 01:29:20

mysql的基本操作

  • 连接指定的服务器(需要服务器开启3306端口)

    • mysql -h ip地址 -P 端口号 -u 账号 -p 密码
  • 删除游客模式

    • mysql -h ip地址 -P 端口号 -u 账号 -p 密码
  • 修改root密码(修改之后需要重启mysql服务)

    • 第一种:进入数据库
          #这里的密码设置为123456
          update mysql.user set password=password("123456") where host='localhost';
      第二种:不用进入数据库
          没有登录修改root密码  第一个root代表的是用户名 123456代表的是旧密码 localhost代表的是域名  第二个密码代表的是 新密码
          mysqladmin -u root -p 123456 -h localhost passord "root"
  • root 登录下 创建用户

    • grant 权限 on 数据库名.表名 to 用户名@主机名 identified by '密码'

数据库的基本操作

    进入数据库
        use 数据库名
    显示所有数据库
        show databases;
    查看当前数据库
        select database()
    创建数据库
        create database 数据库名字 [charset=字符编码]
    查看创建数据库的详细内容
        show create database 数据库名
    删除数据库
        drop database 数据库名字 

数据表的基本操作

    查看已存在的表
        show tables;

    查看创建表的sql
        show create table 表名

    创建数据表
        create teable 表名字(字段,类型,约束,[字段,类型,约束])

    查看数据表结构
        desc 表名

    删除表格
        drop table 表名称

    例,创建数据库
            create table info(
                id int unsigned primary key auto_increment,
                name varchar(20) not null,
                age tinyint not null,
                addr varchar(100) not null,
                gender enum("男","女","保密") default "保密"
                )ENGINE=InnoDB DEFAULT CHARSET=utf8;

数据表记录的基本操作(增、删、改、查)

查看所有的记录
        select * from info;

    插入数据
        insert [into] 表名字 value(字段1,字段2,字段3),(....)
        例:我要插入名字叫张三和王五的这俩条数据
            insert info values(1,"张三",18,"上海","男"),(2,"王五",20,"北京","男");
    根据条件删除记录
        例如 我要删除大于30岁的所有字段
            delete from info where age>30;
    根据条件修改指定的内容
        update [数据库名].表名 set 字段1=新值1,字段n = 新值n where 字段1 = "旧值"
    例如 我想将王五的名字修改成张三的名字
        update info name="张三" where name="王五";

数据表字段的基本操作(事务)

    插入表字段
        alter table 表名称 add 字段名 字段类型 约束
        例:我要给info表增加一个字段叫薪资
            alter table info add money int;
    修改表字段类型
        alter table 表名称 modify 字段名 新的类型 约束
        例 我要将薪资改成varchar的类型
            alter table info modify money varchar(100);

    修改表
        alter table 表名称 change 原来的字段名 新的字段名 类型 约束 可以写默认值
        例:我要修改字段薪资为学历
            alter table info change money education varchar(30) not null;
    删除字段
        alter table 表结构 drop 字段名称
        例:我要删除学历这个字段
            alter table info drop education;

数据表的约束

    是否为主键
        primary key
    是否为空
        not null(不为空)
    小整数
        tinyint(0-255)
    是否自动增长
        auto_increment
    枚举
        enum("","","")
    默认
        default ...
    无符号范围
        Unsigned
    decimal 表示小数 (5,2) 一共有5位 2位小数

    创建数据表 加约束
        create table info(
            id int unsigned primary key auto_increment,
            name varchar(20) not null,
            age tinyint not null,
            addr varchar(100) not null,
            gender enum("男","女","保密") default "保密"
            )ENGINE=InnoDB DEFAULT CHARSET=utf8;

如有错误,欢迎留言指出