JAVA基础WEB阶段第八天——MYSQL数据库(一)基本操作
数据库操作
#1.创建数据库
CREATE DATABASE day05;
#2.创建数据库指定字符集utf8
CREATE DATABASE day05_1 CHARACTER SET 'utf8';
#3.创建数据库指定字符集的方式3
CREATE DATABASE day05_2 DEFAULT CHARSET='utf8';
#切换数据库
USE day05;
#删除数据库
DROP DATABASE day05_1;
DROP DATABASE day05_2;
#查看所有的数据库
SHOW DATABASES;
数据库表的操作
#1.创建数据库表 person id name password
CREATE TABLE person(
`id` INT ,
`name` VARCHAR(32),
`password` VARCHAR(32)
);
#2.show tables; 查看该数据库所有的表
SHOW TABLES;
#3. desc 表名; 查看该表的结构
DESC person;
#4.删除数据库的表
DROP TABLE person;
表结构的操作
CREATE TABLE person(
`id` INT ,
`name` VARCHAR(32),
`password` VARCHAR(32)
);
#1.alter table 表名 add 列名 类型(长度) [约束];
#修改表结构,可以给表动态添加一列
#需求:动态的给表添加一个sex 性别列 类型为varchar(2)
ALTER TABLE person ADD sex VARCHAR(2);
#2. alter table 表名 modify 列名 类型(长度) [约束];
#需求:修改person表的sex列,长度变为20
ALTER TABLE person MODIFY sex VARCHAR(20);
#3. alter table 表名 change 旧列名 新列名 类型(长度) 约束;
#需求: sex列名修改gender
ALTER TABLE person CHANGE sex gender VARCHAR(2);
#4.alter table 表名 drop 列名;
#需求:删除gender列
ALTER TABLE person DROP gender;
#5.rename table 表名 to 新表名;
#需求:将当前的person表名修改为user
RENAME TABLE person TO USER;
#6.alter table 表名 character set 字符集(了解);
ALTER TABLE USER CHARACTER SET 'utf8';
-- 1.给数据库的表中插入数据
/*
格式1:
insert into 表名 (字段名称1,字段名称2,字段名称3...) values (字段值1,字段值2,字段值3...);
*/
INSERT INTO person (`id`,`name`,`password`) VALUES(1,'柳岩','123');
/*
格式2:
insert into 表名 values (字段值1,字段值2,字段值3...); 需要给表的所有字段都给值,按照顺序.
*/
INSERT INTO person VALUES(2,'景甜','321');
/*
格式3:
insert into 表名 values (字段值1,字段值2,字段值3...) ,(字段值1,字段值2,字段值3...)
*/
INSERT INTO person VALUES(3,'杨幂','111') ,(3,'迪丽热巴','222');
-- 2.给数据库的表中修改数据
/*
修改表数据格式:
update 表名 set 字段名1=字段值1, 字段名2=字段值2... where 条件
*/
#需求:把id为一的person名字修改为 刘青 , 密码也修改为123456
UPDATE person SET NAME='刘青',PASSWORD='123456' WHERE id=1;
-- 3.删除数据库表中信息
DELETE FROM person WHERE id=1;
#DELETE FROM person 删除表中所有数据.
-- 4.删除表
# drop table 表名;
DROP TABLE person;
#需求1: 创建表的时候给表的id字段添加主键约束
CREATE TABLE customer(
id INT PRIMARY KEY,
username VARCHAR(32),
age INT,
address VARCHAR(32)
);
INSERT INTO customer VALUES(1,'zhangsan',11,'北京');
INSERT INTO customer VALUES(2,'lisi',22,'上海');
DROP TABLE customer;
#方式2: 创建表的时候给设置主键
#格式:[constraint 名称] primary key (字段列表)
CREATE TABLE customer(
id INT ,
username VARCHAR(32),
age INT,
address VARCHAR(32),
CONSTRAINT `customer_pk` PRIMARY KEY(id)
);
#方式3:设置主键,先创建表,然后再给表添加主键
#格式:ALTER TABLE 表名 ADD [CONSTRAINT 名称] PRIMARY KEY (字段列表)
CREATE TABLE customer(
id INT ,
username VARCHAR(32),
age INT,
address VARCHAR(32)
);
ALTER TABLE customer ADD CONSTRAINT `customer_pk` PRIMARY KEY(id);
#删除主键:
#格式: ALTER TABLE 表名 DROP PRIMARY KEY
ALTER TABLE customer DROP PRIMARY KEY;
#需求:创建一个customer表,设置主键,并自动增长
CREATE TABLE customer(
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(32) ,
address VARCHAR(32)
);
INSERT INTO customer VALUES(NULL,'张无忌','光明顶');
INSERT INTO customer VALUES(NULL,'张三丰','光明顶');
INSERT INTO customer VALUES(NULL,'张翠山','光明顶');
#设置索引从哪个位置开始
#格式: ALTER TABLE 表名 AUTO_INCREMENT=100
ALTER TABLE customer AUTO_INCREMENT=100;
INSERT INTO customer VALUES(NULL,'小昭','光明顶');
/*
非空约束
创建表的时候,给字段的后面 添加 not null , 该字段不允许插入null值
*/
DROP TABLE customer;
CREATE TABLE customer(
id INT NOT NULL,
username VARCHAR(32) NOT NULL,
address VARCHAR(32)
);
INSERT INTO customer VALUES(1,'老王',NULL);
/*
唯一约束: unique
可以给指定字段设置unique唯一约束; 该字段不能插入重复的值. primary key (既有非空约束也有唯一约束)
*/
#方式1:创建表的时候设置
DROP TABLE customer;
CREATE TABLE customer (
id INT PRIMARY KEY,
username VARCHAR(32) UNIQUE, #内容不能重复
address VARCHAR(32)
);
INSERT INTO customer VALUES(1,'张三丰','武当');
INSERT INTO customer VALUES(2,'柯正恶','桃花岛');
INSERT INTO customer VALUES(3,'柯正恶1','海南岛');
#方式2:
#格式:CONSTRAINT 名称 UNIQUE (Id_P)
CREATE TABLE customer (
id INT PRIMARY KEY,
username VARCHAR(32), #内容不能重复
address VARCHAR(32),
CONSTRAINT `uk_username` UNIQUE(username)
);
INSERT INTO customer VALUES(4,'柯正恶','桃花岛');
#方式3:
#格式: ALTER TABLE 表名 ADD [CONSTRAINT 名称] UNIQUE (Id_P)
CREATE TABLE customer (
id INT PRIMARY KEY,
username VARCHAR(32), #内容不能重复
address VARCHAR(32)
);
ALTER TABLE customer ADD CONSTRAINT `uk_username` UNIQUE(username);
#删除唯一约束
#格式: ALTER TABLE 表名 DROP INDEX 名称
ALTER TABLE customer DROP INDEX `uk_username`;
/*
default 约束 用于指定字段默认值
*/
DROP TABLE customer;
CREATE TABLE customer (
id INT PRIMARY KEY,
username VARCHAR(32) ,
address VARCHAR(32),
sex VARCHAR(10) DEFAULT '男'
);
#给里面添加一个数据,不给sex给值,给其他的字段给值.
INSERT INTO customer (id,username,address) VALUES(1,'郭靖','襄阳');
INSERT INTO customer (id,username,address,sex) VALUES(2,'黄蓉','襄阳','女');
#注意事项: 不能插入null,如果有null 会替换默认值
INSERT INTO customer VALUES(3,'欧阳锋','白驼山',NULL);