MySQL 表

                                        表
数据库是表的容器。
表,必须属于某个数据库。


可以通过 语法 指明数据表所属的数据库。
库.表  db_name.tbl_name
不同的标志符,可以用` `分别包裹,便于区分,也符合语法。


进行表操作时,都会指定当前的默认数据库:
Use db_name;只是设定了默认的数据库,不会影响对其他数据库的操作。


否则每次操作表都要进行一次重新指定数据库。




创建表
Create table tbl_name (列结构)[表选项]


先分析,需要保存的实体数据,拥有哪些属性,这些属性应该如何保存。
例如:班级的信息
班级班号,班级开班日期。




列定义(列结构部分):
列名 列的数据类型[列的属性(约束)],
.... ,   ......,  最后一个不加括号。



简单的字符串类型:varchar(字符长度数字)
日期类型 date 


查看表:
1,有哪些表。
show tables;
可选:show tables[like 'pattern']
表示只显示那种规则的表名。


表名前缀(应用于一个数据库做多个项目区分)
为了区分相同逻辑表名的不同应用。
例如:create table info_student和create table exam_student;
student 为相同逻辑名。


前缀查询:show table like 'info_%'和 show table like 'exam_%';
其中%称为通配符。表示任意字符的任意个数的组合。
同样适用于库操作。


2,某个表的创建信息。(可看属性)
show create table tbl_name;


3,描述表结构。
Describe tbl_name;
Desc tbl_name;


文件夹内:表一般会有.frm文件(结构文件)。
.frm保存的是表结构。



删除表:
drop table tbl_name;
drop table if exists tbl_name;



修改表:
1,修改表名:
Rename table old_tbl_name to new_tbl_name;
可以用‘,’隔开,进行多个表的改名。
支持 跨数据库重命名。(剪贴-粘贴),可接此为数据库重命名:
创建一个新的数据库,旧的数据库内的表,都Rename到新的数据库内,删除旧的数据库。



2,修改列定义:
   增加一个新的列
   Add
   修改一个列的定义  (变量类型)
   Modify
   删除一个列
   Drop
   重命名一个列
   Change


    修改表结构,上面的是自命令,上级命令是,alter table tbl_name [add|modify|drop|change]


3,修改表选项(属性):

Alter table tbl_name [新的表选项]


创建库:  
create database php_one;  
create database 1234;        //创建失败,必须加上`  
create database `1234`;      //此后对此数据库进行操作时,都必须用‘ ` ’包裹。  
  
show databases;  
  
创建表:  
create table php_class (  
class_num varchar(20),  
date_start date  
);  
  
create table php_one.php_class(  
class_num varchar(20),  
date_start date  
);  
  
use php_one;                 //显示database changed 表示成功默认  
  
create table php_class1(  
class_num varchar(20),  
data_start date   
);  
  
create table `1234`.itcast_class(  
class_num varchar(20),  
data_start date   
);                           //虽然已有默认的数据库,但是仍然可以直接对表进行指定。  
  
use `1234`;  
show tables;                 //查看  
                             
use php_one;  
show tables;                 //返回  
  
//学生管理  
create table info_student(  
name varchar(20),  
stu_no varchar(20)  
);   
  
//在线考试  
create table exam_student(  
name varchar(20),  
stu_no varchar(20),  
score int  
);  
  
show tables;  
show tables like 'exam_%';  //只显示有exam_前缀的表。  
  
create table exam_question(  
content varchar(100),  
answer varchar(20)  
);  
  
show tables like 'exam_%';  
show tables like 'ex%';  
  
show create table exam_student; //看到界面很乱。  
show create table exam_student\G  //可以看到较为规整的界面。  
  
  
Describe exam_student;  
Desc exam_student;  
  
Drop table if exists idcast_class;  
  
show tables;  
Rename table php_class to exam_class;//可以进行多个操作,','号隔开 对表名进行更改  
show tables;  
  
//支持 跨数据库重命名。(剪贴-粘贴)  
Rename table exam_class to `1234`.exam_class;    
Show tables;  
use `1234`;  
Show tables;  
  
use php_one;  
desc exam_student;  
alter table exam_student add heig int;  //增加 列定义
  
desc exam_student;                     //查看列定义
alter table exam_student add(         
weight int,  
bltyp  varchar(5)  
);                                   //支持同时增加多个  
desc exam_student;  
  
alter table exam_student drop heig;  //删除列定义,注意语法上没有变量的 类型 定义  
desc exam_student;  
  
  
alter table exam_student modify stu_no varchar(40);  //修改变量类型  
desc exam_student;                                   //列定义中stu_no的变量类型由varchar(20)变成了varchar(40)
  
alter table exam_student change score fenshu int;    //新的名称+变量类型  语法上没有to [score]-〉[fenshu][int]
desc exam_student;                                   //score 变成了fenshu 且变量类型变成了int型
  
show create table exam_student\G  
Alter table exam_student character set gbk;         //设置表格属性,更改字符集
show create table exam_student\G  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值