mysql日常操作

作者: 超鸽带你飞 | 来源:发表于2022-07-18 14:18 被阅读0次

    -- select语法:
    SELECT select_list   
    FROM table_name  
    [ WHERE search_condition ]  
    [ GROUP BY group_by_expression ]  
    [ HAVING search_condition ]  
    [ ORDER BY order_expression [ ASC| DESC] ]
    [limit m,n]


    Group By 和 Having, Where ,Order by这些关键字是按照如下顺序进行执行的:Where, Group By, Having, Order by。

    --update/delete语法:
    UPDATE 表名称 SET 列名称 = 新值,列名称 = 新值 WHERE 列名称 = 某值
    DELETE FROM 表名称 WHERE 列名称 = 值

    --字段/索引语法:
    删除字段: alter table table_name drop column_name
    增加字段: alter table table_name add column_name type COMMENT '注释说明' after column_name
    修改字段: alter table table_name change column_name_old [column_name_new] type COMMENT '注释说明'
    重命名表: alter table table_name_old rename table_name_new

    添加索引 :
    alter table table_name add index/unique index_name(column_name1,column_name2...);
    alter table table_name add PRIMARY KEY index_name(column_name1,column_name2...);
    create index index_name on table_name(column_name1,column_name2...);
    create unique index index_name on table_name(column_name1,column_name2...);
    不能用CREATE INDEX语句创建PRIMARY KEY索引

    CREATE TABLE table_name (
    id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
    name varchar(50) DEFAULT '' COMMENT '姓名',
    sex tinyint(4) default 0 COMMENT '性别0:未知;1:男;2女',
    phone varchar(11) DEFAULT NULL COMMENT '手机号',
    birth varchar(10) DEFAULT NULL COMMENT '生日,格式:1980-01-01',
    idcard_no varchar(18) NOT NULL DEFAULT '' COMMENT '身份证号',
    create_time datetime NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '创建时间',
    status tinyint(4) NOT NULL DEFAULT '1' COMMENT '投保状态(1:投保中,2:保单成功,3:保单失败)',
    policy_time datetime DEFAULT NULL COMMENT '保单请求时间',
    policy_info text DEFAULT NULL COMMENT '保单产品详情',
    PRIMARY KEY (id),
    UNIQUE KEY idx_name(uid,time),
    KEY idx_name(uid,time),
    ) COMMENT='xx表' ENGINE=InnoDB DEFAULT CHARSET=utf8;

    删除索引:
    alter table table_name drop index index_name;
    alter table table_name drop primary key;
    DROP INDEX index_name ON talbe_name

    导入导出

    1.导出整个数据库
    mysqldump -u用户名 -p密码 数据库名 > 导出的文件名
    C:\Users\jack> mysqldump -uroot -pmysql sva_rec > e:\sva_rec.sql
    2.导出一个表,包括表结构和数据
    mysqldump -u用户名 -p 密码 数据库名 表名> 导出的文件名
    C:\Users\jack> mysqldump -uroot -pmysql sva_rec date_rec_drv> e:\date_rec_drv.sql
    3.导出一个数据库结构
    C:\Users\jack> mysqldump -uroot -pmysql -d sva_rec > e:\sva_rec.sql
    4.导出一个表,只有表结构
    mysqldump -u用户名 -p 密码 -d数据库名 表名> 导出的文件名
    C:\Users\jack> mysqldump -uroot -pmysql -d sva_rec date_rec_drv> e:\date_rec_drv.sql
    5.导入数据库
    常用source 命令
    进入mysql数据库控制台,
    如mysql -u root -p
    mysql>use 数据库
    然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
    mysql>source d:wcnc_db.sql

    修改字符集: ALTER TABLE 表名 DEFAULT CHARACTER SET utf8;

    通过mysql命令修改
    修改数据库的字符集
    mysql>use mydb
    mysql>alter database mydb character set utf-8;
    创建数据库指定数据库的字符集
    mysql>create database mydb character set utf-8;

    通过配置文件修改
    修改/var/lib/mysql/mydb/db.opt
    default-character-set=latin1default-collation=latin1_swedish_ci

    default-character-set=utf8default-collation=utf8_general_ci
    重起MySQL:

    相关文章

      网友评论

        本文标题:mysql日常操作

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