--查看当前电脑有哪些数据库
show DATABASES;
--创建数据库
create database spt2603;
--使用数据库
use spt2603;
--删除数据库
drop DATABASE;
drop DATABASE if sxists test; --报错
--设置数据库的编码格式
alter database spt2603 character set utf8;
--查看数据库中所有的表
show tables;
--数据类型:1:数值类型 2:日期和时间类型 3:字符串类型
--查看指定表的创建语句
show create table stu:
--查看表结构
desc stu
----删除表
drop table stu2
--DDL 2:对表结构的常用操作
use spt2603
create table stu(
id int,
name varchar(10),
age int,
birthday date,
address varchar(20),
score double
);
create table stu2(id int,name varchar(10));
--2.5修改表结构
--2.5.1 添加字段
alter table stu change school newschool verchar(20)
--2.5.2修改类型
alter table stu change school newschool varchar(20)
alter table stu cahnge newschool school INT
--2.5.3删除字段
alter table stu drop school
--2.5.4修改表名
rename table stu to student
--3.1添加字段
alter table stu add school varchar(20)
--3.2修改字段名和字段类型
alter table stu change school newschool varchar(20)
alter table stu change newshcool school INT
--3.3删除字段
alter table stu drop school
--3.4修改表名
rename table stu to student
rename table student to stu1
--DML ()指数据操作语言
--1:插入insert 2:删除delete 3:更新update
--DML 插入方式1
insert into student(id,name,age,birthday,address,score) values(1001,'','2002-2-2','')
insert into student(id)values(1005);
--DML插入方式2
insert into student values(1002,'',22.'2002-2-2','',20)
--DML2:更新数据
--语法2:update 表名 set 字段名=值 字段名=值...
--语法1:update 表名 set 字段名=值 where 条件
--2.1:将所有学生地址都改为太原
update student set address = '',age = 20
--2.2:将id为1005的学生的地址改为太原
update student set address = ''where id =1001
--2.3:讲id 为1007 的学生,地址为杭州,成绩改为100,年龄为16
update student set address = '',socre = 100,age =16 where id =1007
--DML
--语法1:delete from 表名 [where 条件]
--语法2:truncate table 表名或者 truncate 表名
--3.1删除id为1005的学生
delete from student where id = 1005
--3.2删除所有学生
delete from student
--3.3删除所有学生
truncate table student
truncate student
--delete :删除表的内容
--truncate:删除这张表,重新创建同名表 drop table
use spt2603;
create table emp(
id INT,
name varchar(10),
gender varchar(10),
salary double
);
insert into emp(id,name,gender,salary) values(1001,'张三','男',5000),
(1002,'李四','女',6000),
(1003,'王五','男',7000);
update emp set salary = 8000;
update emp set salary = 3000 where name = '张三';
/*
约束:constraint
约束本质就是给数据添加条件
约束的分类:主键约束 (primary key)自增长约束(auto_increment) 非空约束(not null)
唯一约束(unique) 默认约束(default)
*/
--主键约束(primary key)
--1:约束内容字段不能为空 2:约束字段不能重复
use spt2603;
create table if not exists test1(
id int primary key,
name varchar(20),
gender varchar(10)
);
insert into test1 values(1,'','')
insert into test1 values(null,'','')
insert into tste1 values(2,'','')
drop table test1
--添加主题约束第二种方式
create table if not exists test2(
id int,
name varchar(10)
gender varchar(10)
constraint c2 primary key (id)
);
insert into test2 values(1,'','')
insert into test2 values(1,'','')
insert into test2 values(1,'','')
insert into test2 values(null,'','')
--删除主键
alter table test1 drop primary key --改变表,只要有主键,不管是单主键还是多主键
zlter table test5 drop primary key
--主键约束之联合约束
create table if not exists test3(
id int,
name varchar(10),
gender varchaar(10),
primary key(id,name)
);
desc test3
insert into test3 values(1,'','')
insert into test3 values(1,'','')
insert into test3 values(1,'','')
insert into test3 values(null,'','')
drop table test3
--通过改变表结构添加联合主键
create table if not exists test5(
id int,
name VARCHAR(10),
gender varchar(10),
);
alter table test5 add primary (id)
desc test5
--自增长约束(auto_increment)当主键定义为自增长后,这个主键的值就不需要用户输入数据,数据库会自动赋值
--字段名 数据类型 auto_increment
create table user1(
id int primary key auto_increment,
name varchar(10)
)
insert into user1 values (null,'')
insert into user1 values (1,'')
delete from user1 --删除内容,约束依然存在
truncate user1
--指定自增长的初始值
create table user2(
id int primary key auto_increment,
name varchar(10)
)auto_increment = 100
insert into user2 values (null,'')
insert into user2 values (1,'')
--指定自增长:先创建表然后在设置自增长
create table user3(
id int primary key auto_increment,
name varchar(10)
)
alter table user3 zuto_increment = 1
insert into user3 values (null,'')
insert into user3 values (1,'')
drop table user3
--非空约束()就是字段的值不能为空,如果指定为非空约束,用户没有传值,那么报错
create table user4(
id int primary key,
name varchar(10) not null,
address varchar(10)not null
)
insert into user4 values(1,'null','null')
insert into user4 values (1,null,null)
insert into user4 values (1,'','')
insert into user4(id) values(1)
create table user5(
id int ,
name varchar(10),
address varchar(10)
)
--第二中添加非空约束
--alter table 表名 modify 字段 类型 not null
alter table user5 modify name varchar(10) not null;
alter table user5 modify address varchar(110) not null;
insert into user5(id) vales(1)
--删除非空约束
alter table user5 modify name varchar(10) ;
alter table user5 modify address varchar(110);
insert into user5(id) vales(1)
--唯一约束:所有表中的数据都不能重复出现
create table user6(
id int ,
name varchar(10)unique,
address varchar(10)
)
insert into user6 values(1,'张三','山西')
insert into user6 values (1,null,'山西')
insert into user6 values (1,'张三','山西')
insert into user6 values(2,null,'山西')
create table user7(
id int ,
name varchar(10),
address varchar(10)
)
alter table user7 add constraint uni_name unique(name)
insert into user7 values(1,'张三','山西')
insert into user7 values (1,null,'山西')
insert into user7 values (2,'张三','山西')
insert into user7 values(2,null,'山西')
--删除唯一约束
alter table user7 drop index UNI_NAME
--默认约束
create table user8(
id int ,
name varchar(10),
address varchar(10)default '地球'
)
--格式1:<字段名><数据类型>default<默认值>
insert into user8 values(1,'张三',null)
inser into user8(id,name) values(1,'张三')
drop table user8
create table user9(
id int ,
name varchar(10),
address varchar(10)
)
alter table user9 modify address varchar(10) default '杭州'
insert into user9(id,name) values(1,'张三')
--删除默认约束
alter table user9 modify address varchar(10)
insert into user9(id,name)values(1,'张三')
drop table user9