表的操作
基本参考了《MYSQL数据库应用从入门到精通》,个别细节参考了“燕十八”的公开课
所有操作都是在Navicat for MySQL的查询编辑器中进行的,CMD中的演示是通过PowerCMD中进行的
表的相关概念
表的基本操作:创建、查看、更新和删除
表的使用策略
表的基本概念:
表是包含数据库中所有数据的数据库对象。
表中的数据库对象包含列、索引和触发器,分别为:
列:也叫属性列,在具体创建表时,必须指定列的名字和数据类型
索引:是指根据指定的数据库表列建立起来的,顺序,提供了快速访问数据的途径且可监督表的数据,使其索引所指向的列中的数据不重复
触发器:是指用户定义的事务命令的集合,当对一个表中的数据进行插入、更新或删除时这组命令就会自动执行,可以用来确保数据的完整性和安全性
这些概念除了第一个还明白一点,其他的基本上不理解
创建表之前的准备:
创建表之前要有数据库,而创建数据库之前则要看要创建的数据库是否已经存在,下面的语句则是一些基本的入门语句。我不知道放在什么地方会合适一点,就直接都写在这里了
首先登陆:
如果是在CMD下,则是:
mysql-u root -p
-u表示用户名为root,-p表示输入密码,回车之后会出现Enterpassword:,则输入正确密码即可。会有MYSQL的版本信息,一些简单的帮助信息。
一般我会用Navicatfor MySQL登陆MYSQL,使用鼠标创建数据库其他的操作基本上就是在查询编辑器中写代码了。
1、查所有库:
SHOW DATABASES;
2、选择数据库
USE database_Name;
database_Name为数据库名
2、查看所有的表(此处还没有创建表,所以为空)
USE testone;
SHOW TABLES;
3、删除数据库
drop database database_Name;
database_Name是数据库名
DROP DATABASE testone;
SHOW DATABASES;
表的约束:
完整性约束关键字 | 含 义 |
NOT NULL | 约束字段的值不为空 |
DEFAULT | 设置字段的默认值 |
UNIQUE KEY (UK) | 约束字段的值是唯一 |
PRIMARY KEY (PK) | 约束字段为表的主键 |
AUTO_INCREMENT | 约束字段的值为自动增加 |
FOREIGN KEY ( FK ) | 约束字段为表的外键 |
创建表:
CREATE TABLE teacher(
id INT PRIMARY KEY AUTO_INCREMENT, -- ID号,主键
Tname VARCHAR(20) NOT NULL DEFAULT '教师', -- 姓名
age INT NOT NULL DEFAULT 0, -- 年龄
sex CHAR(1) NOT NULL DEFAULT 'F', -- 性别
sj DATE -- 上岗时间
) engine myisam charset utf8;; -- 设置引擎和字符集
查看表结构:
1、DESCRIBE语句:
DESCRIBE teacher;
2、SHOW CREATE TABLE table_Name; 查看表结构
这外我还不太会,一般是通过Navicat来查看
删除表:
DROP TABLE table_Name;
此外不演示
修改表:
1、修改表名:
ALTER TABLE old_table_name RENAME [TO] new_table_name
old_table_name 所要修改的表的名字
new_table_name 新表名
2、添加列
Alter table 表名 add 列名称 列类型 列参数; [加的列在表的最后]
例: alter table m1 add birth date not null default '0000-00-00';
Alter table 表名 add 列名称 列类型 列参数 after 某列 [把新列加在某列后]
例: alter table m1 add gender char(1) not null default '' after username;
Alter table 表名 add 列名称 列类型 列参数 first [把新列加在最前面]
例: alter table m1 add pid int not null default 0 first;
3、删除列:
Alter table 表名 drop 列名
4、修改列类型:
Alter table 表名 modify 列名 新类型 新参数
例:alter table m1 modify gender char(4) not null default '';
此处不演示