目录
设置表的外键(MySQL中支持外键的只有InnoDB引擎) :
mysql入门
以管理员身份运行cmd
启动:net start mysql
进入mysql:mysql -u root - p 回车输入密码
退出mysql:quit
停止mysql服务:net stop mysql
创建数据库:
创建表前需指定一个数据库:
创建数据库:create database test;(分号为一行命令结束的标志)
使用指定的数据库:use test;
创建表:
CREATE TABLE 表名 (
属性名 数据类型 [完整约束条件],
属性名 数据类型 [完整约束条件],
...
...
属性名 数据类型 [完整约束条件]
);
1.student表:
create table student(Sno int primary key,
Sname varchar(10),
Ssex varchar(5),
Sdept varchar(10));
2.course表:
create table course(Cno int primary key,
Cname varchar(10),
Tno int);
3.score表:
create table score(Sno int,
Cno int,
Degree int);
4.teacher表:
create table teacher(Tno int primary key,
Tname varchar(10),
Tsex varchar(5),
prof varchar(10));
创建完后建议先修改数据库和表的编码格式,以免不能显示中文,见链接:windows下解决mysql5.6无法识别中文的问题
插入数据并查询:
insert into student values(1,"小小","女",1),(2,"晴天","女",2),(3,"菲菲","女",1),(4,"次奥","男",2);
select *from student;
insert into course values(1,"数学",1),(2,"语文",3),(3,"英语",2);
insert into score values(1,1,80),(1,2,58),(2,2,40),(3,1,90),(1,3,40),(2,1,55);
insert into teacher values(1,"tom","男","教授"),(2,"lucy","女","博士"),(3,"mike","男","副教授");
删除:
删除数据库:drop database 数据库名;
删除表:drop table 表名;
删除被其他表关联的父表:
方法一:先删除子表,在删除父表
方法二:删除父表的外键约束,再删该表
查看表结构:
describe 表名;
修改表名:
alter table 旧表名 rename 新表名;
修改字段的数据类型:
alter table 表名 modify 属性名 数据类型;
修改字段名:
alter table 表名 change 旧属性名 新属性名 新数据类型;
增加字段:
alter table 表名 add 新增字段名 数据类型 [完整性约束条件] [first | after 已有属性名];
“first”参数是可选参数,其作用是将新增字段设置为表的第一个字段;“after”参数也是可选的参数,其作用是将新增字段添加到“已有属性”后面;
完整性约束条件:
删除字段:
alter table 表名 drop 属性名;
设置表的外键(MySQL中支持外键的只有InnoDB引擎) :
constraint 外键别名 foreign key(属性1,属性2,....属性n) references 表名(属性1,属性2,...属性n)
删除表的外键约束 :
alter table 表名 drop foreign key 外键别名;
设置表的属性值自动增加:
属性名 数据类型 auto_increment
约束的字段可以是任何整数类型(TINYINT、SMALLINT、INT和BIGINT),在默认的情况下,该字段的值是从1开始自增
查看表详细结构语句:
show create table 表名;
更改表的存储引擎:
alter table 表名 engine = 存储引擎名;
存储引擎:数据库对同样的数据,有着不同的存储方式和管理方式。
从事务安全性的角度,可以把存储引擎分为两大类:
事务安全: bdb和innodb;
事务非安全性: myisam 和 memory
参考链接:mysql 查看数据库、表的基本命令