zoukankan      html  css  js  c++  java
  • MySQL数据库基础操作

    3.3.1创建和查看数据表
    一、查看数据表

    1.use onlinedb; -------------将数据库设为当前数据库
    2.show tables; ---------------查看数据库中的表
    3.create table users(
    uID int(11) PRIMARY KEY AUTO_INCREMENT COMMENT '用户ID'
    uName varchar(30) NOT NULL,
    uPwd varchar(30) NOT NULL,
    uSex ENUM('','')DEFAUTE'');----------创建数据库表
    4.describe onlinedb users; -----------------查看表结构(describe 也可以是desc);
    5.show create table 表名;------------不仅可以查看表的详细定义还可以查看默认储存引擎和和字符编码

    3.3.2修改表
    一、修改表名

    1.alter table 原表名 rename [to] 新表名;

    二、修改字段

    1.alter table 表名 change 原字段名 新字段名 新数据类型; 
    2alter table 表名 modify 字段名 新数据类型;

    三、修改字段排列顺序

    1.alter table 表名 modify 字段名1数据类型 firstafter 字段名2;

    四、添加字段

    1.alter table 表名 add 字段名 数据类型;

    五、删除字段

    1.alter table 表名 drop 字段名;

    六、修改表的存储引擎

    1.alter table 表名 enging=存储引擎名

    3.3.3复制表
    一、复制表结构和数据到新表

    1.creater table 新表名select * from 源表名;

    二、只复制表结构到新表

    1.create table 新表名 select *from 源表名 where false;
    2.cerate table 新表名 like 源表名;

    三、复制表部分字段及数据到新表

    1.create table 新表名 as(select 字段1,字段2,等等 from 源表名);

    四、删除表

    1.drop table 表名;

    3.4.1表约束

    一、primary key约束(主键约束,定义表中构成主键的一列或多列,且每个表只能由一个主键约束)

    1.create 数据类型 primary key; ----------主键约束
    eg(1):create table goods(
            gdID int primary key,
             gdName varchar(30) not null,
             gdPrice decimal(8,2));
    eg(2):create table scarunfo (
              gdID int,
              uID int,
              scNum int default 1
              primary key(gdID,uID));---------------定义复合主键

    二、not null 约束(非空约束,强制字段值不能为null,他不等同于0或空字符,不能跟任何值比较,只能起约束作用)

    1.属性名 数据类型 not null,

    eg:  alter table Goods add gdCode varchar(30) not null after gbID;

    三、default 约束(默认值约束,用于指定字段默认值,即记录表时,若字段未填入,则系统会将自动默认值填如)
    1.属性名 数据类型 default 默认值

    eg:alter table SCar modify scNum int default 1;--------------修改默认值是1

    四、unique约束(唯一性约束,是指数据表中一列或一组列中只包含唯一值)
    1.属性名 数据类型 unique

    eg:  create table users(
              uID int(11) primary key auto_increment comment '用户ID',
              uName varchar(30) not null unique,-----------定义为唯一约束
              uPwd varchar(30) not null,
              uSex enum('','')default'');

    五、foreing key约束(外键约束,约束的实现不只在单表中进行,而是在表中的数据与另一个表中数据之间进行)
    1.创建外键约束

    1.constraing 外键名 foreing key(外键字段名)
                                      references 主表名(主键字段名)
    eg1: create table GoodsType (
         tID int primary key,----------------标识该字段为主键
         tName varchar(30) not null);
     eg2: create table goods (
    gdID int primary key auto_increment,----------标识该字段为主键且自增
    tID int not null,
    gdCode varchar(30) not null unique,
    gdName varchar(30) not null,
    gdPrice decimal(8,2),
    constraint FK_tID foreign key (tID) references GoodsType (tID));

    2.外键约束的级联更新或删除;

    conatraint 外键名 foreing key(外键字段名)
                     references 主表名 (主键字段名)
    [on update { cascade | set null | no action | reserict } ]
    [on delect  { cascade | set null | no action | reserict } ]
    eg: create table goods (
    gdID int primary key auto_increment,---------------标识该字段为主键且自增
    tID int not null,
    gdCode varchar(30) not null unique,
    gdName varchar(30) not null,
    gdPrice decimal(8,2),
    constraint FK_tID foreign key (tID) references GoodsType (tID)
    on update cascade
    on delete cascade);

    3.外键约束的删除

    Alter table 表名 drop foreign key 外键名;
      eg: alter table goods drop foreign key FK_tID;

    3.5.1 插入数据
    1.数据插入

    insert into 表名[(字段列表)] values (值列表);
      eg: insert into GoodsType values(6,'运动');
      eg:insert into user (uname,upwd) values ('张小山','123');

    2.使用replace语句插入单条数据

    replace into 表名[(字段列表)] values (值列表);
      eg :replace into user (uid,uname,upwd) values ('3','乐天天','111');

     3.使用insert into语句插入多条数据

     insert into 表名[(字段列表)] values(值列表1)[(值列表2),(值列表3),......(值列表n)];
    eg : insert into user (uname,usex,upwd) values('郑霞','','asd')('李竞','','555')('朱小兰','','123');

    4.使用replace into语句插入多条数据

    eg : replace into user (uname,usex,upwd) values(5,'郑立','','qaz')(6,'李竞','','666')(8,'朱小兰','','456');

    5.插入其它表的数据

    insert into 目标数据表(字段列表1) select 字段列表2 from 源数据表 where 条件表达式;
    eg: insert into users(uname,upwd,usex) select uname,upwd,usex from user where uid>5;

    6.insert 语句的其他语法格式

    insert into 表名 set 字段名1 = 值1[,字段名2 = 值2,.......];
    eg :insert into users set uname = '曲甜甜',upwd = '666',usex = '';

    3.5.2修改数据

    update 表名 set 字段名1 = 值1,字段名2  =取值2,......,字段名n = 取值n;[where 条件表达式];
    eg :update users set upwd  = '888' where uname = '朱小兰';

    3.5.3删除数据

    1.使用delect语句删除数据

    delect from 表名 [where 条件表达式];
    eg :delect from users where uid = 4;

    2.使用truncate 语句删除数据

    truncate [table] 表名
    eg: truncate user;
    表对象名+_+列对象名+_
  • 相关阅读:
    python 多进程操作
    python 什么是全局解释器锁GIL
    cloudstack api调用python
    cloudstack模板
    微型计算器
    a++与=++a的区别
    js自调用函数的实现方式
    .net利用NPOI导入导出Excel
    linux系统下c程序分多文件实现
    线程的优先级
  • 原文地址:https://www.cnblogs.com/cxc1693764209/p/13166266.html
Copyright © 2011-2022 走看看