找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手

对Mysql数据库的表的操作命令 表字段的操作命令以及表数据的操作命令1

[复制链接]
对表的操作
1.创建表,需要先选择要创建的数据库,use 数据库名字,然后用create table 创建表
   create table student(id int(3) primary key,name char(10) not null,age int,class int(3) default 7);
    创建一个数据表,名字叫student,字段有id号,name,age,class,其中设置id字段为主键,class字段默认值为7
    create table +表名(字段1 字段类型 约束条件,字段2 字段类型 约束条件);
定义:字段:也就是表中的列名称;
          字段类型:整数型(int),字符串型(char),日期格式型(date)
          约束条件:主键约束,外键约束,非空约束,默认值约束,自增长约束

字符类型:
整数型
bigint:正负2的63次方,字节为32位,一般11位以上的数字,选择用bigint,位数较长;
int:一般11位数以下用int,相比bigint,数位较短;
字符串
char:字符串,长度不可变,一般是在命令中char(10)后面的括号里定义长度,传输速度快,但是占据空间(比如,设置的字符串长度为10,但是实际只占用了4,剩下的6位就不会释放,字符长度不变),字符串要加引号
varchar:字符串,长度可变,一般是在varchar(10)后面括号里自定义长度,传输速度慢,节省空间(比如:设置的字节长度为10,但是实际占用4,剩下的6就会自己释放,长度可变),字符串要加引号
日期格式
Date:日期格式,也是字符串格式,和char,varchar类似,定义日期时要加引号,比如:day date default "2021-11-17";
浮点数
float:表示的是浮点数,填入的值可以带小数点;
int(3)   int(n)--n表示的是字符的宽度,实际上系统默认的是11位
char(10)   char(10)---表示的是实际上字符的长度就是10,超过10,不能写入,系统报错

约束:
primary key:主键约束,一个表格中只要一个主键,输入的字段值不能重复,体现唯一性,而且不能为空(一般id字段号会设置为主键约束,表唯一,身份证号太长)
foreign key:外键约束,主要是在数据库里建立表与表之间的联系,确保数据的完整性;
not null:非空约束,是必填项,即非空。当该行前面有数据时,该字段数据必须填写,即非空
default:默认值约束,比如:default 7;如果有输入自定义值,一般以自定义值优先,若没有,就是默认值
auto_increment:自增长约束,主要是作用在主键上,以“1”为单位增加,这样会避免编辑表格时出现重复或者错误;
2.查看表结构(表字段):desc student;(查看student表字段)
                          desc +表名(查看表的表字段)
   extra(注释,一般auto_increment自增长会显示在该栏中)
3.删除表:drop table +表名;(删除表,不仅是删除数据,表字段,表名等全部删除)
            drop table student;(删除student表)
4、修改表名: alter table +表名+rename+修改后的名字
           alter table test_001 rename test_002;(把test_001表格的名字修改为test_002)

对表字段的操作
1.添加表字段:alter table+表名+add+字段 字段类型 约束条件;
         (1)直接用add,一般系统默认添加在所有字段的最后面,添加单个字段
             alter table student add sex int(3) not null;(在student表中,增加sex表字段,表字段类型为整数型,非空约束
         添加多个表字段
         alter table 表名 add (字段1 字段类型 约束条件,字段2 字段类型 约束条件)
        alter table student add (aa int(3) not null,bb int not null);(给student表增加字符段aa和bb)
        alter table 表名 add 字段1 字段类型 约束条件,字段2 字段类型 约束条件;
         alter table student add aa int not null,bb int not null;(给student增加aa,bb字段)每个字段用一个add,中间用逗号隔开
   (2)在特定位置添加字段
       first,在首行增加字段
       alter table 表名 add 字段名 字段类型 约束条件 first;
       alter table student aa int not null first;(在表首位增加aa字段)
      after:在某个字段后面添加字段
     alter table 表名 add 字段名 字段类型 约束条件 after 字段名;
      alter table student add bb int not null after age;(在表中age字段后面添加bb字段)
2.查看表字段:desc 表名
                  desc student;(查看student的表字段)
3.删除表字段:alter table 表名 drop 字段名;
           删除单个表字段:alter table student drop kk;(删除表中kk的字段)
          删除多个表字段:alter table student drop kk,drop aa,drop,bb;(同时删除多个表字段,用drop连接,用逗号隔开)
4.修改表字段:alter table 表名  change 原字段名 现表字段名 字段类型 约束条件;
      改名: alter table student change id id int(3) not null;(修改表字段id为id)
      改名并排在特殊位置,首位:alter table student change id id int not null first;
     增加主键的自增长:alter table student change id id int auto_increment;
     去掉主键,需要先去除主键上的自增长,然后用drop去除主键,用change去除不了主键
     alter table student change id id int not null;(去除主键上的自增长,必须加not null)
     alter table student drop primary key;(删除表中的主键)
    注意:去除主键的时候,必须先去除自增长,然后用drop 去除主键
            去除主键上的自增长时,必须加not null,不然就是默认值为0,自增长不能独立于主键而单独存在,依赖于主键

对表数据的操作
1.表格写入内容命令
   (1)所有字段全选
     insert into 表名(字段1,字段2,字段3)values(字段1值,字段2值,字段3值);
   insert into student(id,name,age) values(1,"张三",18);(在表中写入张三的数据)
   insert into student values(1,"张三",18);insert into 表名 values(对应的字段1值,字段2值,字段3值);
(2)写入部分字段值
     insert into 表名(字段1,字段2)values(字段1值,字段2值);
     insert into student(name,sex)values("zhangsan",0);
    (3)同时添加多个数据
    insert into 表名(字段1,字段2)values(字段1值,字段2值),(字段1值,字段2值),(字段1值,字段2值);
    insert into student(name,sex) valuees("zhangsan",0),("lisi",1),("wangwu",0);
(2)修改数据:update set (分开写)+where句子
          update 表名 set 字段名=值 where 字段名=值;
      update student set age=25 where name="zhangsan";(把表中名字叫张三的年龄改为25)
    update 表名 set 字段=值;(修改表中所有某字段数据)
     update student set age=25;(修改表中的所有年龄为25)
3.删除数据:delete from 表名 where 字段=值;(删除表中某个值得整行数据)
                delete from student where name="zhangsan";(删除表中名字叫张三的整行数据)
比较:delete from 表名:只是删除表的数据,但是表名,表字段还在,而且删除的数据可以回滚,重新写入时,编号为自增编号,可能编号会从中间开始;
    truncate:truncate 表名,删除数据,但是不会删除表名,表字段,数据不会回滚,重新写入时,编号从1开始;
      drop table 表名:不仅删除数据,还会删除表名,表字段
4.查询表数据:select 字段 from 表名
   (1)select * from student;(查看表中的所有数据)
     (2)select name,sex from student;(查看表中的name,sex字段数据)
     (3)select 字段名 from 表名 where 字段=值;
     select name from student where id=5;
分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册