携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第2天,点击查看活动详情
创建数据库:
create database 数据库名;
删除数据库:
drop database 数据库名;
查看数据库:
show databases;
选择要操作的数据库数据库:
use 数据库名;
查看当前数据库的表:
show tables;
创建数据库的表:
create table 表名(字段名称 字段类型,字段名称 字段类型 ........);#每个字段之间用英文逗号隔开;
例如: 创建一个书的表:
create table book(num int,name varchar(10),date date,price double(5,2));
##这里的num 是int类型,name是字符串类型,date是日期类型,price价格是双精度类型,这里的double(5,2)是整个价格长度为5,小数点后有2位
删除表:
drop table 表名;
查看数据库的表的结构:
desc 表名;
查看表中所有数据:
select * from 表名;
查看表中指定数据:
select 字段名 from 表名;
修改表:
alter table 表名 字段名 字段类型
例如 添加字段
alter table 表名 add 字段名 字段类型:
alter table book add user varchar;
##这里是添加一个书籍使用者字段
修改字段:
alter table 表明 modify 字段名 字段类型;
例如:
alter table book modify price int;
##这里是将价格改为整数类型
删除字段:
alter table 表名 drop 字段名;
向表中插入数据:
insert into 表名(想插入的字段名称....) values(想插入的字段的值);
##每个字段名称,字段值用英文逗号隔开; 语法二:
insert into 表名 values(表中所有字段的值)
例如:
insert into book(num) values(1);
insert into book(num,name) values(2,'sun');
##字符串类型需要用单引号括起来;
insert into book(num,name,date) values(3,'build','2010-10-10');
##日期也需要用引号括起来;
insert into book(num,name,date,price) values(4,'build','2010-10-10',12);
所有要插入所有数据,可以省略掉字段名,但是values要对应,也就是列的数量和values的数量要对等;也就是一一对应
例如
这里有4个字段
:
num name date price
那么要一次性插入数据可以这样操作:
insert into book values(4,'compute','2012-9-10',12);
需要一一对应;
删除 数据库表中数据:
delete from 表名;##清空整张表
删除表中指定数据;
delete from 表名 where 条件表达式;
例如:
delete from book where num = 1;
修改表中记录:
update 表名 set 字段名=新的字段值,...... where 条件表达式
##中间用英文逗号隔开; 例如:
update book set name = 'test';##这里是将这个字段的所有数据都修改为 test
修改表中指定 某一
条记录:
例如:
update book set name = 'sum' where num = 3;
##这里是将num为3的书名改为sum
当你想修改一条记录中的多个字段时,你可以应逗号分隔,同时进行操作: 例如:
update book set name ='test3' price=30 where num = 4;
MySQL约束: 所有的约束必须在创建表的时候加上去;
唯一约束(不允许完全相同的存在): unique 例如:
create table book(num int unique,name varchar);
非空约束(不允许null存在): not null
例如:
create table book(num int not null,name varchar);
同一字段加多个约束: 不需要逗号隔开 例如:
create table book(num int unique not null,name varchar);
非空约束和唯一约束称之为 主键约束 主键约束:
primary key
例如:
create table book(num int primary key,name varchar);
一般数字类型的主键配合mysql自动增长策略
auto_increment
例如:
create table book(num int primary key auto_increment,name varchar);
##当你插入name值时,不对num进行操作,他会自动增长例如 insert into book(name) values('tom');
此时num的值会自动为1,对应的name为tom
外界约束:
在一张表中的数据参考另外一张表的数据, 例如:在test数据库中存在2张表 一张为学生表,一张为班级表 学生表:num name class 班级表:class
而学生表中的class需要参考班级表的class;例如班级表中只存在1班,而学生表中出现了2班,这就出现了数据错误;
##注:MySQL中外键必须是另外一张表的主键!!! 为了保证数据的正确性,需要单独加约束
foreign key() && references key()
范例: 班级表:class 学生表 student
创建班级表:
create table class(num int primary key auto_increment,name varchar);
##此处就将class表中的num设置为主键并且自动增长
创建学生表:
create table student(num int primary key auto_increment ,name varchar(11),classnum int , foreign key(classnum) ,references class(num));
##foreign key() 括号中跟的是当前创建表中需要设置外界约束的字段, references key() 中的跟的是需要参考的表中的字段