显示所有数据库:
show databases;
创建数据库:
CREATE DATABASE test;
切换数据库:
use test;
显示数据库表:
show tables;
创建数据表:
CREATE TABLE pet(name VARCHAR(20),owner VARCHAR(20),species VARCHAR(20),sex CHAR(1),birth DATE,death DATE);
查看数据表结构:
describe pet;
desc pet;
查询表:
select * from pet;
插入数据:
INSERT INTO pet VALUES('xiaoqiang','zhouxingxing','dog','f','1990-2-12',NULL);
修改数据:
update pet set name='wangcai' where owner='zhouxingxing';
删除数据:
delete from pet where name='dog';
删除表:
drop table pet;
mysql键表约束
----主键约束:
它能够唯一确定一张表中的一条记录,也就是我们通过某个字段添加约束,就可以使得该字段不重复且不为空。
create table user(
id int promary key,
name varchar(20)
);
----联合主键
只要联合的主键值加起来不重复就可以。
----自增约束
会自动生成所约束变量。
create table user3(id int primary key auto_increment,name varchar(20));
create table user3(id int primary key auto_increment,name varchar(20));
insert into user3(name) values('zhangsan');
+----+----------+
| id | name |
+----+----------+
| 1 | zhangsan |
| 2 | zhangsan |
+----+----------+
id为约束变量,添加时不用声明,会自动生成。
如果创建表时忘记创建主键约束了?怎么办?
create table user4(id int,name varchar(20));
alter table user4 add primary key(id);//添加主键
alter table user4 drop primary key;//删除主键
alter table user4 modify id int primary key;//使用modify修改字段,添加约束
----外键约束
涉及到两个表:父表,子表,主表,副表;
1、主表中没有的数据值,在副表中,是不可以使用的。
2、主表中的记录被副表引用,是不可被删除的。
—唯一约束
约束修饰的字段的值不可以重复。
create table user5(id int,name varchar(20));
alter table user5 add unique(id,name);//两个键在一起不重复就ok
如何删除唯一约束
alter table user7 drop index name;
总结:
1、建表的时候就添加约束
2、可以使用alter…add…
3、alter…modify…
4、删除alter…drop…
----非空约束
修饰的字段不能为空 NULL
----默认约束
当我们插入字段值的时候,如果没有传值,就会使用默认值。