MySql

作者: LoseDemon | 来源:发表于2018-07-11 21:28 被阅读10次

    MySql是一个典型的关系型数据库
    专业术语(数据库):
    数据库(database):存储数据的仓库,简称为DB
    数据库管理系统(database Manger System)DBMS:
    数据库系统(database system)DBS : DB+DBMS

    mysql的一些常规操作
    show databases like pattern; # 显示当前所有的数据库
    use dbName; # 进入到对应数据库中
    show tables like pattern; # 显示当前数据库所有表

    desc\describe tableName;    # 描述表的结构
    show columns from t_user;   # 描述表的结构
    select database();      # 显示当前所在的数据库
    select now();           # 返回当前时间
    select version();       # 返回当前数据库的版本信息
    

    去IOE:
    IBM
    Oracle
    EMC

    常见MySql操作指令
    show databases; //此命令返回当前DBS系统中所有数据库
    use dbName; //表示进入到对应名称的数据库中去
    show tables; //查看当前数据库下的所有表
    select * from tableName; //表示查询tableName表的所有数据

    sql(structured query language)结构化查询语言

    创建和删除数据库:
    create[database/table/index/function/cursor/view]名称
    drop(删除) [database/table/index/function/cursor/view]名称

    create database 数据库名称 [default charset = utf8]
    drop database 数据库名称

    创建表:
    create table t_user(
    字段1 类型 【约束条件】,
    字段2 类型 【约束条件】,
    字段1 类型 【约束条件】,
    。。。。
    字段n 类型 【约束条件】
    )

    create table t_user (
    id int primary key,
    username varchar(50),
    age int
    gender varchar(5)
    );

    MySql安装:
    1、.msi (无需更改配置)
    2、.zip压缩包的安装
    1、官网下载zip包
    2、解压压缩包(不要有中文,不要有特殊字符)
    3、修改my.ini文件
    4、修改my.ini
    basedir = mysql的主目录
    datadir = mysql的主目录\data
    5、将mysql的bin配置到环境变量path中
    6、使用管理员身份进入cmd,将路径切换MySQL的bin目录下来(很重要)
    7、注册服务
    mysqld install
    8、启动服务
    1、使用服务,手动启动
    2、net start/stop/restart/status xxx(数据库名称)
    9、进入数据库
    mysql -u用户名称 -p用户密码

    Linux安装:
    | -- 源代码安装
    | -- apt:
    ubuntu : sudo apt/atp-get install mysql-sever mysql-client

    MySQL登录:
    mysql -u(user)用户名称 -p(pawssword)用户密码 -P(port)端口(默认端口是3306) -h(host)主机ip地址
    MySQL退出:
    Ctrl+C \ q \ esit \ quit
    常见的MySQL操作命令:、
    show database; //此命令返回当前DBS系统中所有数据库
    use dbName; //表示进入到对应名称的数据库中去
    show tables; //查看当前数据库下的所有表
    desc / describe board; //查询一张已经存在表的结构
    select * from tableName; //表示查询tableName表所有的数据
    sql(strctured query language) //结构化查询语言

    sql:
    DDL(database definition language) :数据库定义语言
    show create drop alter
    DML(database Manipulation Language):数据库操作语言
    CRUD(create Retrieve updata delete)
    insert
    update
    delete
    select---DQL(data query language)数据查询语言
    DCL(database controll language):数据库控制语言
    grant invoke

    三个创建:数据库、表、view、index
    四条语句:CRUD
    五种约束:主键、外键、非空、唯一、默认值

    创建数据库:
    create [database/table/index/function/cursor/view] 名称
    create database db_py1805 [default cahrset=utf8]
    删除数据库:
    drop [database/table/index/function/cursor/view] 名称
    drop database db_py1805
    修改数据库:
    alter database
    查看数据库的定义:
    show create database

    mysql的数据类型
    整形:tinyint (一个字节)
    smallint(两个字节)
    mediumint(三个字节)
    int(四个字节)
    bigint(八个字节)
    浮点型:float(四个字节)
    double(八个字节)
    decimal(10,5)做精确运算
    文本型:char(length)
    varchar(length)
    text
    二进制:binary
    Blob
    日期:year
    month
    day
    time
    date
    datetime
    timestamp 游标戳
    枚举:enum()

    表的常见操作:
    表的创建:
    create table tName(
    field1 type codition primary key auto_increment,
    gender varchar(5) not null
    )default charset utf8 engine=innodb/mysime
    查询表创建的信息:
    show create table tname[/G]
    对表的修改:
    修改表名:
    rename table oldTableName to newName;
    alter table tableName rename to new TableName;
    修改表的属性(字符集、引擎、。。。。):
    alter table tableName charset=gbk;
    alter table tableName engine=Myisam;
    修改表的字段:
    alter table TName change/modify/drop/add filed
    增加一个新的字段:
    alter table TName add newColumn condition 位置
    alter table TName add 字段名 varcahr()
    修改一个字段:
    alter table tName change test vachar() default
    修改一个字段类型:
    alter table tName modify test varchar()
    default 'hehe' aftr age;
    删除一个字段:
    alter table tName drop test;

    面试题:1、说说你所知道的mysql的数据引擎有哪些?
    2、innodb(高并发选这个)、myisam两个引擎的区别?
    创建表:
    create table 表名(
    字段1 类型 [约束条件]
    字段2 类型 [约束条件]
    字段3 类型 [约束条件]
    ............
    字段n 类型 [约束条件]
    )
    crrreate table t_user(
    id int,
    username varchar(50),
    age int,
    gender varchar(5)
    )

    insert插入语句:
    insert into 表名(字段1,字段2,字段3...字段n) values(值1,值2,.......值n);
    insert into t_user(id,username,age,gender) values(1,"zs",16,'nan');

        create table t_user(
               id int primary key auto_increment,  //primary key表示主键,不能为空,不能重复
               username varchar(50) not null,    //不能为空
               age int default 18,
               gender varcahr(5)
    

    )

    配置MySQL的远程登录:
    1、到MySQL数据库use mysql
    2、查询user ==== select host,user from user;
    3、修改root用户update user set host='%' where user='root';
    4、修改/etc/mysql/mysql.conf.d/mysqld.cnf 找到43行将bind-address 注释掉
    5、重启服务

    CRUD:
    insert into 表名 values(xxxxx);
    insert into 表名(字段……) values(xxxxx);

    grant语言的使用

    grant all on db_py05.* to 'ljh'@'localhost' identified by 'ljhljh';
    grant all on . to 'root'@'%' identified by '123456';

    增删改查
    CURD(C:create 增加 R:retrieve 查询 U:update 修改 D:delete 删除)

    查询

    select 字段1,字段2,……,字段n from tableName [where condition]
    select * from tableName;

    增加

    insert into tabelName(字段1,字段2,……,字段n) values(值1,值2,……,值n);
    insert into tabelName values(值1,值2,……,值n); # 必须写全

    更新

    update tableName set 字段1=新值,字段2=新值,字段3=新值 [where condition]

    删除

    delete from tableName [where condition]

    truncate 删除 慎用

    alter的操作

    alter table t_user modify type text;
    alter table t_user add type int;
    alter table t_user drop type;

    单表的条件查询:
    关系运算符:> < >= <= = != <>
    逻辑运算符:and(并且) or(或者) not
    空和非空的判断: is null is not null
    between and in not in
    排序:order by field1 [asc | desc] [,field2 [asc | desc]]
    分组:group by field [having condition]
    分页:limit offset,pageSize;

    编码问题
    utf8
    gbk
    latin1
    ...............
    校对集:
    _bin: binary 区分大小写
    _cs: 区分大小写
    _ci: 忽略大小写

    相关文章

      网友评论

        本文标题:MySql

        本文链接:https://www.haomeiwen.com/subject/ofjtyftx.html