• MySQL 基础语法结构


    增、删、改、查

     DATABASE

    1,创建数据库【增】

    create database dbname charset utf8;
    #创建    数据库   库名   设置编码  UTF8

    2,查询库【查】

    show create database dbname;
    #查询数据库的 创建信息  
    
    show databases;
    #列出所有存在的数据库名

    3,改数据库【改】

    alter database db1 charset gbk;
    #更改   数据库   名  编码格式 GBK
    #更改数据库名为db1的数据库编码为gbk。

    4,删除数据库【删】

    drop database db1;
    #删    数据库   名

     TABLE

    切换库: use DataBaseName;( 库等同于文件夹,切换库就如同切换文件夹 )

    查看当前库: select database();(查看当前所在的库名,就相当于查看当前文件夹名)

    表的操作就是在库(文件夹)内部操作,每一个表就相当于是库中的文件,表名就是文件名,表内容就是文件内容。创建的表会生成两个文件,一个是*.frm 另一个是 *.ibd。

    1,创建表【增】

    #语法形式
    create table 表名(
    字段名1 类型[(宽度) 约束条件],
    字段名2 类型[(宽度) 约束条件],
    字段名3 类型[(宽度) 约束条件]
    );
    #字段间用','逗号分开,最后一个不要有','逗号。
    
    #语句样式
    create table t1(id int,name char);
    #创建    表   表名 (列名 属性)

    2,查询表【查】

    show create table t1;
    #查询 已创建 表的属性信息 “G”使用后会格式化显示。
    
    desc t1;
    #与上一条一样,查询已创建表的属性信息。
    
    show tables;
    #查询当前库中所有表的名字。

    3,修改表结构【改】

    #修改表名
    alter table t1 rename newt1
    #修改   表  表名 改名  新表名
    
    #增加字段
    alter table t1 add remarks char(10);
    #修改   表  表名 增加 字段名  字段类型
    alter table t1 add remarks char(10),
                   add remarks2 char(11);
    #注:添加多个字段用','逗号分隔,';'分号结束,但都需要 ADD 字段名 数据类型 格式。
    alter table t1 add newfield int first;
    #修改  表   表名 增加 字段名 字段类型 添加最前面
    #注:first 表示将该条字段添加到表的最前面。   
    alter table t1 add newfield1 int after name;
    #修改  表   表名 增加 字段名  字段类型 在...后面 字段名
    #注:after + 字段名 意思是将新的字段名填加到某字段名之后。  
    
    #删除字段
    alter table t1 drop newfield1;
    #修改   表  表名 丢掉 字段名
    
    #修改字段   
    alter table t1 modify name char(10);
    #修改   表  表名 属性    列名  属性值
    alter table t1 change name Name char(10);
    #修改   表  表名 更改   列名(旧) 列名(新) 属性值

    4,删除表【删】

    drop table t1;
    #删   表    表名

    复制表

    1. 先建立一个空库 :
         create database db3 charset utf8;
    2. 使用新库:
         use db3;
    3. 【方法一】复制目标库表中的字段:
         create table t1 select host,user from mysql.user;
          新建    表  表名  查找   字段名     从   目标库.目标表;
    #注:复制过后表的结构属性和表内字段数据一同都拷贝过来了。如果只想拷贝表结构,可以使用where条件或让where后的条件式不成立,这样就只拷贝表结构了。
    #例:create table t1 select host,user from mysql.user where 1>5;
       #【方法二】复制表结构:
        create table t1 like mysql.user;
        #新建    表  表名 像   目标库.目标表
    #注:只拷贝表结构,不含字段内容

    记录 Record

    1,添加记录【增】

    insert into t1(id,name) value (id,name);
    #插入   到   表名(列名)  值  (列名)
    #into可以不写,但建议写上,使语句结构完整易读,另外就算是一个列名也必须加括号。例:t1(name) value (name)
    
    insert into t1 value(id,name),(id,name);
    insert into t1(name) value (name),(name);
    #插入 到 t1 值为(列名),如果指定了表中的某列,那么值也要按指定的格式赋值,如二例所示。

    2,查表记录【查】

    select id,name from t1;
    #查询 列名      从   表名
    
    select id,name from db1.t1;
    #查询   列名     从   数据库名.表名
    
    select * from t1;
    #查询  所有列  从  表名

    3,改表信息【改】

    update db1.t1 set name='sly';
    #更新  数据库名.表名 设置 列名=新值
    #将数据库db1中的t1表中name列内容改为'sly'update t1 set name='sly' where id=2;
    #更新  表名 设置 列名=新值  条件 条件值
    #更新 t1表中的name列的内容改为'sly,条件为id为2的记录。

    4,删除记录【删】

    delete from t1;
    #删除   从  表名
    #删除t1表中的所有记录。
    
    delete from t1 where id=2;
    #删除   从  表名  条件  条件值

    SQL语句的基本概念

    SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。SQL语言分为3种类型:

    1、DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER

    2、DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT

    3、DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE

    库的命名规则

    可以由字母、数字、下划线、@、#、$

    区分大小写

    唯一性

    不能使用关键字,如create select

    不能单独使用数字

    最长128位

    使用help + 命令 可以查看SQL语句的用法.

    表的类型 就是 存储引擎

    一、查看MySQL支持的存储引擎

    #命令
    show engines;
    

    注:MySQL支持多种存储引擎,是需要关注innoDB,MySQL的默认引擎。

    二、指定表类型(存储引擎)

    #例:
    create table t1(id int) engines=innoDB;

    innoDB在库中是两张表。

  • 相关阅读:
    对于大于8046 bytes的行,RCSI/SI事务隔离级别无效
    SQL Server如何在变长列上存储索引
    索引键的唯一性(4/4):非唯一聚集索引上的唯一和非唯一非聚集索引
    探秘重编译(Recompilations)(2/2)
    探秘重编译(Recompilations)(1/2)
    第11/24周 重编译
    索引键的唯一性(3/4):唯一聚集索引上的唯一和非唯一非聚集索引
    索引键的唯一性(2/4):唯一与非唯一聚集索引
    索引键的唯一性(1/4):堆表上的唯一与非唯一非聚集索引的区别
    统计信息内幕:直方图和密度向量
  • 原文地址:https://www.cnblogs.com/sly27/p/9129451.html
Copyright © 2020-2023  润新知