数据库 - 表 - 增删改查

表得增删改查:    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 t1\G; #查看表详细结构,可加\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;

原文地址:https://www.cnblogs.com/alice-bj/p/8824409.html

时间: 2024-10-10 23:22:31

数据库 - 表 - 增删改查的相关文章

2018-2-1 有关于数据库表增删改查的操作实例

首先是建立数据库,建立数据库中的表: #创建数据库 create database z_stu; #创建表 /* 属性名 数据类型 可否为空 含 义 Sno varchar (20) 否 学号(主码) Sname varchar (20) 否 学生姓名 Ssex varchar (20) 否 学生性别 Sbirthday Datetime 可 学生出生年月 Class varchar (20) 可 学生所在班级 */ create table if not exists student( sno

数据库表--增删改查的操作实例

一.设置数据库 包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示.用SQL语句创建四个表并完成相关题目. # 创建数据库 create database if not exists z_stu; #创建学生表(Student) /* 属性名 数据类型 可否为空 含 义 Sno varchar (20) 否 学号(主码) Sname varc

mysql笔记--数据库基本增删改查 修改表结构

数据库基本增删改查 1. 增-添加/插入数据,insert into 插入哪张表,那些列,什么值, 语句:insert into 表名(列1,列2,列3)values (值1,值2,值3): 可以不按原列的顺序插入,也可以插入部分列,但是值与列要一一对应,不能混乱!!! 一次插入多行数据 : Insert into 表名(列1,列2)values (值1,值2),(值1,值2): 2. 改-更新数据update 更新哪张表,哪些列,哪些值 语句:update 表名 set 列1=值1,列2=值2

数据库基本增删改查与修改表结构

数据库基本增删改查 1. 增-添加/插入数据 insert into 插入哪张表,那些列,什么值, 语句:insert into 表名(列1,列2,列3)values (值1,值2,值3): 可以不按原列的顺序插入,也可以插入部分列,但是值与列要一一对应,不能混乱!!! 一次插入多行数据 : Insert into 表名(列1,列2)values (值1,值2),(值1,值2): 2. 改-更新数据 update 更新哪张表,哪些列,哪些值 语句:update 表名 set 列1=值1,列2=值

GZFramwork数据库层《二》单据表增删改查(自动生成单据号码)

运行效果: 使用代码生成器(GZCodeGenerate)生成tb_EmpLeave的Model 生成器源代码下载地址: https://github.com/GarsonZhang/GZCodeGenerate/ 生成方式见上一节: GZFramwork数据库层<一>普通表增删改查     新增一个自定义控件:ucTableUnitDocNo   后台代码同上一节ucTableUnit除了实例化bllBusiness不一样外其他都一样(红色背景标注) using System; using

GZFramwork数据库层《四》单据主从表增删改查

同GZFramwork数据库层<三>普通主从表增删改查   不同之处在于:实例 修改为:   直接上效果:         本系列项目源码下载地址:https://github.com/GarsonZhang/GZFramworkDBDemo/ 生成器源码下载地址:https://github.com/GarsonZhang/GZCodeGenerate/   系列文章 1. GZFramwork数据库层<前言>Demo简介 2. GZFramwork数据库层<前言>D

GZFramwork数据库层《三》普通主从表增删改查

运行结果: 使用代码生成器(GZCodeGenerate)生成tb_Cusomer和tb_CusomerDetail的Model 生成器源代码下载地址: https://github.com/GarsonZhang/GZCodeGenerate/ 生成方式见第一节: GZFramwork数据库层<一>普通表增删改查   生成明细表ORM略有不同: 项目附加结果:   新增一个自定义控件:ucTableMD 界面:   后台代码: using System; using System.Colle

【Hibernate】Hibernate的在Eclipse+Mysql的配置、安装,纯Java,利用Annotation与HQL完成数据库的增删改查

这篇文章有很多槽点,在Hibernate4.x上面用着Hibernate3.x的写法去写.而且程序中放到Eclipse中会有一大堆警告,但是这好歹也在一定程度上完成了Hibernate的入门.毕竟现在很多介绍Hibernate的书籍都是用Hibernate3.x的写法去写.上次那篇<[Hibernate]最简单的Hibernate工程--账号注册系统>(点击打开链接)杂糅Struts的技术其实是不对的.因为Hibernate完成的是,从Java到数据库,从数据库到Java的任务.之后Java与

android中SQLite数据库的增删改查

1.数据库帮助类PersonSQLiteOpenHelper package com.wzw.sqllitedemo.db; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper