• 数据库


    表得增删改查:
    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;
  • 相关阅读:
    webbrowser获取页面文章指定段落内容
    webbrowser防止弹窗(IE)
    webbrowser模拟手动输入
    WPF加载Winform窗体时 报错:子控件不能为顶级窗体
    FAQs: 我们可以在那里来为我的没有提升管理权限的应用程序存储用户数据?
    Winform中修改WebBrowser控件User-Agent的方法(已经测试成功)
    必应代码搜索 Bing Code Search 安装
    Microsoft Visual Studio Professional 2012 专业版 下载
    vs2012 aspx 没有设计视图了?
    vs2010 Express 下载连接
  • 原文地址:https://www.cnblogs.com/mumupa0824/p/9419174.html
Copyright © 2020-2023  润新知