表
数据库是表的容器。
表,必须属于某个数据库。
可以通过 语法 指明数据表所属的数据库。
库.表 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,修改表选项(属性):
数据库是表的容器。
表,必须属于某个数据库。
可以通过 语法 指明数据表所属的数据库。
库.表 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