数据库基础知识(一)-sql常见操作

数据库基础知识(一)

sql常见操作(mysql实例)

  • 数据库,表操作

    • sql语句

      show databases;//查看所有数据库
      create database daname DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;//创建数据库并设置字符集
      drop database daname;//删除数据库
      show tables;//查看所有表
      show create table tbname;//查看表结构
      drop table tbname;//删除表
      
  • 建表(用户表示例)

    • sql语句

      create table if not exists user
      (
          userid int(4) NOT NULL AUTO_INCREMENT comment 'id设置主键自增',
          name varchar(20) NOT NULL comment '用户名',
          password varchar(20) NOT NULL comment '密码',
          usertype int(4) NOT NULL DEFAULT 1 comment '用户类型',
          PRIMARY KEY (`userid`)
      )ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1000 comment '用户表';
      
      create table if not exists userservice
      (
          serviceid int(4) NOT NULL AUTO_INCREMENT comment '某项id设置主键自增',
          userid int(4) NOT NULL comment '所属用户',
          sname varchar(20) NOT NULL comment '服务名',
          other varchar(20) comment '其他字段',
          PRIMARY KEY (`serviceid`),
          CONSTRAINT fkuserid FOREIGN KEY (userid) REFERENCES user(userid)
      )ENGINE=InnoDB DEFAULT CHARSET=utf8 comment '用户某项服务表';
      
    • 说明
      建表时主键有两种方式创建,示例为一种即在最后统一申明,或者在字段后加primary key。
      建表时外键只能在最后统一申明。
  • 修改表结构

    • sql语句

      字段修改
      alter table tbname add column colname 字段内容 ... ;//添加字段
      alter table tbname drop column colname;//删除字段
      alter table tbname modify colname 修改内容...//修改字段(不可重命名)
      alter table tbname change colname newname 字段内容//修改字段(可重命名)
      alter table tbname change colname colname ...AUTO_INCREMENT;//设置自增
      
      约束修改
      alter table tbname add  [CONSTRAINT 约束名] 约束类型 (column1,[column2,column3,...]);
      alter table tbname add PRIMARY KEY (colname);//添加主键
      alter table tbname drop PRIMARY KEY;//删除主键,注意没有字段名
      alter table tbname add FOREIGN KEY (colname) REFERENCES othertb(colname);//添加外键
      alter table tbname drop FOREIGN KEY fkname;//删除外键
      
      alter table tbname drop index 约束名;//删除唯一性约束,语法必须如此:
      
  • 修改表内容

    • sql语句

      update tbname set column1=value, column2=value,...WHERE some_column=some_value;//修改表字段内容,操作要慎重,若条件为空,将修改整个表。
      delete from tbname WHERE some_column=some_value;//删除某些行
      delete from tbname;//全部删除
      insert into tbname VALUES (value1, value2, value3,....)或者
      insert into tbname(column1, column2, column3,...) VALUES (value1, value2, value3,....);//插入内容
      
  • 表查询

    • sql语句

      select colname AS column_alias FROM table_name or SELECT column_name FROM table_name AS table_alias;//别名
      select tbname.colname,,, from tbname1 INNER JOIN tbname2 ON tbname1.colname=tbname2.colname;//连接
      select * distinct...;//结果去重
      limit
      order by [asc|desc]
      group by
      
    • 查询条件说明where
      select后跟where 条件
      + and,or
      + in,like
      + between
    • select可用于创建View

      create view vname as select * ...;
      

      查寻有很多情况往往根据实际,不再举例说明

猜你喜欢

转载自blog.csdn.net/danghaibulan222/article/details/81148603