MySQL自学篇(三)_MySQL
查看数据表结构
使用SQL语句创建好数据表之后,可以查看表结构的定义,以确定表的定义是否正确。在MySQL中,查看表结构可以使用DESCRIBE 和 SHOW CREATE TABLE语句。
1、查看表基本结构语句DESCRIBE
DESCRIBE/DESC语句可以查看表的字段信息,其中包括:字段名。字段数据类型、是否为主键、是否有默认值。语法规则:
DESCRIBE 表名;
后者简写为:
DESC 表名;
各个字段的含义分别为:
NULL:表示该列是否可以存储NULL指
Key:表示该列是否已编制索引。PRI表示该列是表主键的一部分;UNI表示该列是UNIQUE索引的一部分;MUL表示在该列中某个给定值允许出现多次。
Default:表示该列是否有默认值。如果有,是多少。
Extra:表示可以获取的给定列有关的附加信息,例如AUTO_INCREMENT等。
2、查看表详细结构语句SHOW CREATE TABLE
SHOW CREATE TABLE 语句用来显示创建表时的CREATE TABLE语句,语法格式如下:
SHOW CREATE TABLE;
使用SHOW CREATE TABLE语句,不仅可以查看创建时候的详细语句,而且还可以查看存储引擎和字符编码
PS:
如果不佳“\G”参数,显示的结果可能非常混乱,加上参数“\G”之后,可使显示结果更加直观,易于观察。
修改数据表
1、修改表名
MySQL是通过ALTER TABLE语句来实现表名的修改的,具体的语法规则如下:
ALTER TABLE RENAME TO ;
其中TO为可选参数,使用与否均不影响结果。
范例:
将数据表department改名为dept
alter table department rename dept;
可以使用DESC查看修改前后两个表的结构,修改表名并不修改表结构,因此修改名称后的表和修改之前的表结构是完全相同的。
2、修改字段的数据类型
修改字段的数据类型就是把字段的数据类型转换成另一种数据类型。在MySQL中修改字段数据类型的语法规则如下:
ATTER TABLE MODIFY
范例:
将数据表department2中的name字段的数据类型有VARCHAR(22)修改成VARCHAR(30)。
alter table department2 modify name varchar(30);
3、修改字段名
MySQL中修改字段名的语法规则如下:
ALTER TABLE CHANGE
其中,“旧字段名”是指的修改前的字段名;“新字段名”指修改后的字段名;“新数据类型”指的是修改后的数据类型;如果不需要修改字段的数据类型,可以将新数据类型设置成与原来一样即可,但是数据类型不能为空。
范例:
将数据表department字段location改名为local,数据类型保持不变,SQL语句如下:
alter table department change location local varchar(50);
4、添加字段
添加字段语法格式如下:
ALTER TABLE ADD [约束条件] [FIRST | AFTER 已存在的字段名 ] ;
新字段名为需要添加的字段名称;“FIRST”为可选参数,其作用是将新添加的字段设置为表的第一个字段;“AFTER”为可选参数,其作用是将新添加的字段添加到指定的“已存在字段名”的后面。如果SQL语句中没有“FIRST”、“AFTER”这两个参数,则默认将这个字段放在数据表的最后列。
A、添加无完整性约束的字段
范例:在数据表department中添加一个没有添加完整性约束的INT类型的字段managerId(部门经理编号),SQL语句如下:
ALTER TABLE department ADD managerId INT(10);
B、添加有完整性约束的字段
范例:在数据表department中添加一个不能为空的VARCHAR(25)类型的字段column1,SQL语句如下:
ALTER TABLE department ADD column1 VARCHAR(12) NOT NULL;
C、在表的第一列添加一个字段
范例:
在数据表department中添加一个INT类型的字段column2,SQL语句如下
alter table department add column2 int(10) first;
D、在表的指定列之后添加一个字段
范例:
在数据表department中添加一个恶INT类型的字段column3在column2列之后。
alter table department add column3 int(10) after column2;
5、删除字段
删除字段是将数据表中的某个字段从表中删除,语法格式为:
ALTER TABLE DROP
范例:
删除数据表department中column2字段
alter table department drop column2;
6、修改字段的排列位置
语法格式:
ALTER TABLE MODIFY FIRST|AFTER
“字段1”值要修改位置的字段,“数据类型”值“字段1”的数据类型,“FIRST”为可选参数,指“字段1”修改为表的第一个字段,“AFTER字段2”指的是将“字段1”插入到“字段2”后面。
A、修改字段为表的第一个字段
范例:
将数据表department中的column1字段修改为表的第一个字段,SQL语句:
alter table department modify column1 varchar(12) first;
B、修改字段到表的指定列之后
范例:
将数据表department中的column1字段修改为表的managerId字段的后面。SQL语句如下:
alter table department modify column1 varchar(12) after managerId;
7、修改表的存储引擎
存储引擎是MySQL中的数据存储在文件或者内存中时采用的不同技术实现。MySQL中主要的存储引擎有:MyISAM、InnoDB、MEMORY、BDB、FEDERATED等。可以使用SHOW ENGINES;语句查看系统支持的存储引擎。
更改表的存储引擎的语法格式如下:
ALTER TABLE ENGINE=;
范例:
将数据表student的存储引擎修改为MyISAM。
8、删除表的外键约束
删除外键的语法:
ALTER TABLE DROP FOREIGN KEY
范例:
创建employee9
create table employee9
(
id INT(11) primary key ,
name varchar(20),
deptId INT(11),
salary float,
constraint fk_emp_dept foreign key(deptId) references department(id)
);
删除外键
alter table employee9 drop foreign key fk_emp_dept;
删除数据表
1、删除没有被关联的表
MySQL中,使用DROP TABLE可以一次删除一个或多个没有被其他表关联的数据表。语法格式:
DROP TABLE [IF EXISTS] 表1,表2,...表n;
2、删除被其他表关联的主表
数据表之间存在外键关联的情况,如果直接删除父表,结果会显示失败。原因是直接删除,将破坏表的参照完整性。
如果一定要删除,可以先删除与之关联的子表,在删除父表,只是这样同时删除了两个表中的数据。如果要将子表保留,这是要单独删除父表,只需将关联的表的外键约束条件取消,然后删除父表
范例:
创建dept表
create table dept(id INT(11) primary key ,name varchar(10),location varchar(30));
创建emp表
create table emp
(
id INT(10) primary key,
name varchar(20),
deptId INT(10),
constraint fk_emp_dept foreign key(deptId) references dept(id)
);
修改外键关联
alter table emp drop foreign key fk_emp_dept;
删除dept表
drop dept;

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사는 MySQL의 Alter Table 문을 사용하여 열 추가/드롭 테이블/열 변경 및 열 데이터 유형 변경을 포함하여 테이블을 수정하는 것에 대해 설명합니다.

기사는 인증서 생성 및 확인을 포함하여 MySQL에 대한 SSL/TLS 암호화 구성에 대해 설명합니다. 주요 문제는 자체 서명 인증서의 보안 영향을 사용하는 것입니다. [문자 수 : 159]

기사는 MySQL에서 파티셔닝, 샤딩, 인덱싱 및 쿼리 최적화를 포함하여 대규모 데이터 세트를 처리하기위한 전략에 대해 설명합니다.

기사는 MySQL Workbench 및 Phpmyadmin과 같은 인기있는 MySQL GUI 도구에 대해 논의하여 초보자 및 고급 사용자를위한 기능과 적합성을 비교합니다. [159 자].

이 기사에서는 Drop Table 문을 사용하여 MySQL에서 테이블을 떨어 뜨리는 것에 대해 설명하여 예방 조치와 위험을 강조합니다. 백업 없이는 행동이 돌이킬 수 없으며 복구 방법 및 잠재적 생산 환경 위험을 상세하게합니다.

기사는 외국 열쇠를 사용하여 데이터베이스의 관계를 나타내고 모범 사례, 데이터 무결성 및 피할 수있는 일반적인 함정에 중점을 둡니다.

이 기사에서는 PostgreSQL, MySQL 및 MongoDB와 같은 다양한 데이터베이스에서 JSON 열에서 인덱스를 작성하여 쿼리 성능을 향상시킵니다. 특정 JSON 경로를 인덱싱하는 구문 및 이점을 설명하고 지원되는 데이터베이스 시스템을 나열합니다.

기사는 준비된 명령문, 입력 검증 및 강력한 암호 정책을 사용하여 SQL 주입 및 무차별 적 공격에 대한 MySQL 보안에 대해 논의합니다 (159 자)
