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);
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据架构师Pony

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值