zoukankan      html  css  js  c++  java
  • 数据库

    表得增删改查:
    1.表介绍:

                        

            id,name,age,sex称为字段,其余的,一行内容称为一条记录。
    2.创建表:
    语法:
    create table 表名(
    字段名1 类型[(宽度) 约束条件],
    字段名2 类型[(宽度) 约束条件],
    字段名3 类型[(宽度) 约束条件]
    );

    #注意:
    1. 在同一张表中,字段名是不能相同
    2. 宽度和约束条件可选
    3. 字段名和类型是必须的
    示范:
    create database db1 charset utf8;
    use db1;
    create table t1(
    id int,
    name varchar(50),
    sex enum('male','female'),
    age int(3)
    );
    show tables; #查看db1库下所有表名
    desc t1;
    select id,name,sex,age from t1;
    select * from t1;
    select id,name from t1;

    insert into t1 values
    (1,'egon','male',18),
    (2,'alex','female',20)
    ;
    insert into t1(id) values
    (4),
    (5);
    mysql> select * from t1;
    +------+------+--------+------+
    | id | name | sex | age |
    +------+------+--------+------+
    | 1 | egon | male | 18 |
    | 2 | alex | female | 20 |
    | 4 | NULL | NULL | NULL |
    | 5 | NULL | NULL | NULL |
    +------+------+--------+------+

    注意:表中的最后一个字段不要加逗号
    3.查看表结构:
    [db1]> describe t1; #查看表结构,可简写为desc 表名
    +-------+-----------------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +-------+-----------------------+------+-----+---------+-------+
    | id | int(11) | YES | | NULL | |
    | name | varchar(50) | YES | | NULL | |
    | sex | enum('male','female') | YES | | NULL | |
    | age | int(3) | YES | | NULL | |
    +-------+-----------------------+------+-----+---------+-------+

    [db1]> show create table t1G; #查看表详细结构,可加G
    4.修改表结构:
    语法:
    1. 修改表名
    ALTER TABLE 表名
    RENAME 新表名;
    2. 增加字段
    ALTER TABLE 表名
    ADD 字段名 数据类型 [完整性约束条件…],
    ADD 字段名 数据类型 [完整性约束条件…];
    ALTER TABLE 表名
    ADD 字段名 数据类型 [完整性约束条件…] FIRST;
    ALTER TABLE 表名
    ADD 字段名 数据类型 [完整性约束条件…] AFTER 字段名;
    3. 删除字段
    ALTER TABLE 表名
    DROP 字段名;
    4. 修改字段
    ALTER TABLE 表名
    MODIFY 字段名 数据类型 [完整性约束条件…];
    ALTER TABLE 表名
    CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…];
    ALTER TABLE 表名
    CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…];
    示范:
    1. 修改存储引擎
    mysql> alter table service
    -> engine=innodb;
    2. 添加字段
    mysql> alter table student10
    -> add name varchar(20) not null,
    -> add age int(3) not null default 22;

    mysql> alter table student10
    -> add stu_num varchar(10) not null after name; //添加name字段之后

    mysql> alter table student10
    -> add sex enum('male','female') default 'male' first; //添加到最前面
    3. 删除字段
    mysql> alter table student10
    -> drop sex;
    mysql> alter table service
    -> drop mac;
    4. 修改字段类型modify
    mysql> alter table student10
    -> modify age int(3);
    mysql> alter table student10
    -> modify id int(11) not null primary key auto_increment; //修改为主键
    5. 增加约束(针对已有的主键增加auto_increment)
    mysql> alter table student10 modify id int(11) not null primary key auto_increment;
    ERROR 1068 (42000): Multiple primary key defined
    mysql> alter table student10 modify id int(11) not null auto_increment;
    Query OK, 0 rows affected (0.01 sec)
    Records: 0 Duplicates: 0 Warnings: 0
    6. 对已经存在的表增加复合主键
    mysql> alter table service2
    -> add primary key(host_ip,port);
    7. 增加主键
    mysql> alter table student1
    -> modify name varchar(10) not null primary key;
    8. 增加主键和自动增长
    mysql> alter table student1
    -> modify id int not null primary key auto_increment;
    9. 删除主键
    a. 删除自增约束
    mysql> alter table student10 modify id int(11) not null;
    b. 删除主键
    mysql> alter table student10
    -> drop primary key;
    5.复制表:
    1.复制表结构+记录 (key不会复制: 主键、外键和索引)
    mysql> create table new_service select * from service;
    2.只复制表结构
    mysql> select * from service where 1=2; //条件为假,查不到任何记录
    Empty set (0.00 sec)
    mysql> create table new1_service select * from service where 1=2; #(key不会复制: 主键、外键和索引)
    Query OK, 0 rows affected (0.00 sec)
    Records: 0 Duplicates: 0 Warnings: 0

    mysql> create table t4 like employees; # 只复制表结构,连同主键会一起复制 ...
    6.删除表:
    DROP TABLE 表名;
    drop table t1;
    drop table t1,t2;
  • 相关阅读:
    03.部署 kubectl 命令行工具
    02.创建 CA 证书和秘钥
    01.组件版本和集群环境
    23.kubernetes 组件版本和配置策略
    22.Kubernetes Ingress: HTTP 7层路由机制
    Python程序中#-*-coding: UTF-8 -*-的作用
    Python程序中首行#!/usr/bin/env python的作用
    mac install php dev
    linux的nohup disown setsid screen
    linux 常用查找命令 小技巧
  • 原文地址:https://www.cnblogs.com/mumupa0824/p/9419174.html
Copyright © 2011-2022 走看看