zoukankan      html  css  js  c++  java
  • MySQL 基础 SQL 操作

    MySQL 用户

    --登录
    mysql -u<用户名> -p[密码] 
    --修改密码
    mysqladmin -u<用户名> -p[密码] password <new_password>   
    

    数据库

    --显示所有的数据库
    show databases;
    
    --创建数据库,设置字符集utf-8,校对集 utf8_general_ci
    create database db_name default character set utf8 collate utf8_general_ci;
    
    --查看创建数据库的语句
    show create database db_name;
    

    备份和恢复

    --导出数据库(注意:当前命令是在cmd命令行下执行)
    mysqldump -u<用户名> -p[密码] db_name > filename
    
    --恢复
    --1.先创建一个数据库
    create database db_name default character set utf8 collate utf8_general_ci;
    --2.使用该数据库
    use db_name;
    --3.导入数据库数据
    source filename;
    

    表操作

    --创建表
    create table student(
    	id int(11) primary key auto_increment,
    	name varchar(50) unique not null,
    	age int,
    	sex tinyint(1) default 0 comment '0男1女'
    ) ENGINE=INNODB;
    
    --查看创建表的原始语句
    show create table table_name;
    
    --查看表结构
    desc table_name;
    
    --查看所有表
    show tables;
    
    --删除表
    drop table table_name;
    
    --重命名表
    alter table table_name rename new_table_name;
    
    

    列操作

    --添加列
    alter table table_name add column column_name int not null;
    
    --删除列
    alter table table_name drop column column_name;
    
    --修改列属性
    alter table table_name modify column column_name float not null;
    
    --修改列
    alter table table_name change column column_name_1 column_name2 float default 0;
    

    索引

    --添加索引
    alter table table_name add index ind_column_name(column_name);
    create index ind_column_name on table_name(column_name);
    
    --删除索引
    alter table table_name drop index ind_column_name;
    drop index ind_column_name on table_name(column_name);
    
    --查看索引
    show index from table_name;
    
    -- PS1:索引是不可修改的,只能删除后再创建
    -- PS2:对表记录的删除会造成索引的存储碎片,过多的存储碎片不仅占用存储空间,还会降低数据库运行速度。重建索引能够有效的进行“碎片整理”。
    -- 查看索引存储碎片(当 Data_free 列值大于0时表示有碎片,值越大碎片越多)
    show table status like 'table_name';
    
    

    增删改查

    --插入
    insert into student(id, name, age, sex) values(1, '小明', 23, 0);
    --批量插入
    insert into student(id, name, age, sex) values
    (NULL, '小强', 18, 0),
    (NULL, '小华', 28, 1),
    (NULL, '小张', 23, 1);
    
    --删除
    delete from student where id=1;
    
    --更新
    update student set age=24 where id=2;
    
    --查询
    select * from student;
    
  • 相关阅读:
    win 下 docker 环境配置
    【译】PHP 内核 — 字符串管理
    Elasticsearch和Lucene的关系
    如何写出高性的SQL语句?
    Java 8
    Cause: java.sql.SQLSyntaxErrorException: ORA-01719: OR 或 IN 操作数中不允许外部联接运算符 (+)
    sql 使用 in 后数据量太大报错
    java8-求最小值(8中方法)
    Oracle 强制索引
    为什么新安装eclipse idea等环境,初次运行java程序,会弹出windows防火墙信息
  • 原文地址:https://www.cnblogs.com/lhat/p/12095449.html
Copyright © 2011-2022 走看看