数据库命令:
创建create database 数据库名 charset=utf8;
删除drop database 数据库名;
查看所有数据库:show databases;
使用数据库:use 数据库名;
表命令:
create table 表名(列…);
唯一标识的要求:id
类型:int unsigned
约束1:not null
约束2:primary key
约束3:auto_increment
列的格式:列的名称 类型 约束
create table stu(
-> id int not null primary key auto_increment,
-> name varchar(10) not null,
-> gender bit default 1,
-> birthday datetime,
-> isDelete bit default 0,
-> );
**查看表**show tables;
查看表结构: desc 表名;
修改表:alter table 表名 add|modify|drop 列名 类型 约束;
alter table stu modify column isDelete bit not null default 0;
删除表:drop table 表名;
数据命令:
添加数据:insert into 表名(列名) values(值),(值)…;
修改数据:update 表名 set 列1=值1,… where …;
删除数据:delete from 表名 where …;
逻辑删除:update ….
备份:mysqldump >
恢复:mysql <
设置表的主键::
单字段主键格式:属性名 数据类型 PRIMARY KEY。
mysql> CREATE TABLE student1 (
-> id int PRIMARY KEY,
-> name varchar(20)
-> );
Query OK, 0 rows affected (0.06 sec)
多字段主键格式:PRIMARY KEY(属性名1,属性名2….属性名n)
mysql> CREATE TABLE student2 (
-> id int,
-> stu_id int,
-> name varchar(20),
-> PRIMARY KEY(id,stu_id)
-> );
Query OK, 0 rows affected (0.00 sec)
设置表的外键:
格式:CONSTRAINT 外键别名 FOREIGN KEY(属性1,属性2,….属性n) REFERENCES 表名(属性1’,属性2’,…属性n’)
mysql> CREATE TABLE teacher (
-> id int PRIMARY KEY,
-> stu_id int,
-> name varchar(20),
-> CONSTRAINT STUID FOREIGN KEY(stu_id) REFERENCES student1(id)
-> );
Query OK, 0 rows affected (0.00 sec)
连接查询:
selcet 表1的字段,表2的字段,表3的字段 from (表1)
inner join (表2) on (表1).id=(表2).id
inner join (表3) on (表1).id=(表3).id
注意:表的顺序不是固定的,可以任意写,只需要建立起两者之间关系即可。
主表的概念:
在数据库中建立的表格即Table,其中存在主键(primary key)用于与其它表相关联,并且作为在主表中的唯一性标识。
从表的概念
以主表的主键(primary key)值为外键 (Foreign Key)的表,可以通过外键与主表进行关联查询。从表与主表通过外键进行关联查询。
从表数据依赖于主表,一般最后查询数据时把主表与从表进行关联查询。