数据库复习(1)- 创建数据库和表

  • 查看已有数据库(表)
    show batabases(tables);
  • 创建数据库
    create batabase ‘basename’;
  • 删除数据库
    drop database ‘basename’;
  • 选择使用数据库(切换数据库)
    use ‘basename’;
  • 创建表
create tablec ‘tablename’
(
SubjectNo int  primary key auto_increment,     -- primary key 表示主键,主键非空  auto_increment:自增
SubjectNAme varchar(50), 
ClassHour int,
GradeID int
);

    注: varcahr 与char的不同

  • 查看创建表结构
    show create table 'tablename'(\G); -- \g 和 ; 效果一样,\G格式化输出
    describe(desc) tablename;

  • 添加数据

    1. insert into tablename[(字段1,字段2,字段3,...)] values('值1','值2','值3',....)[,('值1','值2','值3',....)]; # 可以一次性添加多条数据
    2. insert into tablename (字段名)
       select 字段名 from tablename2
  • 删除数据
    DELETE from student WHERE sno = '101';

  • 修改表

    1. 添加字段
      alter table tablename add 字段名 类型 [first]; #first 将属性添加到第一列,否则添加到最后一列
      alter table tablename add 字段名 类型 after 字段2; #将属性添加到指定列之后
    2. 修改表名
      alter table 旧表名 rename as 新表名;
    3. 修改字段
      alter table 表名 modify 字段名 类型【属性】;
      alert table 表名 change 旧字段名 新字段名 类型 【属性】;
    4. 删除字段
      alter table 表名 drop 字段名
    5. 修改字段的位置
      alter table 表名 modify 属性名 属性 after 属性名|frist
  • 更新数据
    updata tablename set column_name = value [, column_name2 = value2,...]
    [where condition];
    注:
      1. value 为修改后的数据,可以为变量、具体值、表达式、或者嵌套的select结果
      2. condition 为筛选条件,如不指定则修改所有该表的所有列数据
      3. update select 语句(注意:必须使用inner join)
       语法 update a inner join (select yy from b) c on a.id =c.id set a.xx = c.yy

  • 表的约束
    完整性约束条件是对字段进行限制,要求用户对该属性进行的操作复合特定的要求。

mysql中基本的完整性约束条件:

约束条件说明
primary key主键,可以唯一的标识对应的元组
unique标识属性是唯一的
foreign key外键,是与之联系的某表的主键
not null该属性不能为空
auto_increment标识该属性的值自动增加
default为该属性设置默认值

  注: unique 与 primary key的区别 :

  1. unique 允许字段为空,primary key 字段不能为空,且一个表只能有一个主键(主键可以组合使用),但是可以有多个unique字段。
  2. 多字段主键:
    create table tablename( propName1 propType1,propName2 propType2,......constraint pk_name primary key (propName1,propName2));在属性定义完成后统一设置,constraint会给约束起一个名字。
  3. auto_increment: 一个数据库表中只能有一个字段使用该约束,该字段必须是整数类型
  4. foreign key: 外键约束是保证多个表之间的参照完整性,设置外键约束的两个表之间具有父子关系,即子表的某个字段的取值范围由父表决定。设置外键约束的字段依赖于数据库中已经存的父表的主键,但外键可以为NULL。
    create table tablename( propName1 propType1,propName2 propType2,......constraint fk_pro foreign key (propName1) peferences tablename2 (propName2) );
  • 基本的查询
    select * from tablename;

  • truncate 与 delect
    相同: 都能删除数据、不删除表结构,但truncate速度更快
    不同: 使用truncate table 重新设置auto_increment计数器;使用truncate不会对事务有影响

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值