MySQL数据库

MySQL数据库基本操作

前期工作 : 

mysql数据库安装完毕 ; 环境变量配置成功

(一)数据库操作

调出CMD , 输入 : mysql -u root -p  password : *****    --> 进入数据库环境下

1.SHOW DATABASES;                                                     ---查看已存在的数据库

2.CREATE DATABASE IF NOT EXISTS db[数据库名称]    ---创建数据库db

3.DROP DATABASE db[数据库名称]                                ---删除数据库db

4.USE db[数据库名称]                                                       ---进入数据库db

(二)数据表操作

SHOW TABLES                                                              ---查看数据库中的数据表

SHOW CREATE TABLE tb[表名称]                                 ---查看数据表创建信息

DESC tb[表名称]                                                             ---查看表结构

DROP TABLE tb[表名称]                                                ---删除数据表

创建表结构

CREATE TABLE IF NOT EXISTS tb(
userid TINYINT UNSIGNED KEY AUTO_INCREMENT,
name VARCHAR(10) NOT NULL,
sex ENUM('男','女','保密') DEFAULT '男',
hobby SET('a','b','c'),
birth YEAR,
score FLOAT

)AUTO_INCREMENT=10 ENGINE=INNODB CHARSET=UTF8;

基本格式 : 

CREATE TABLE IF NOT EXISTS tb[表名称](

    字段名称1    字段类型    完整性约束条件 , 

    字段名称2    字段类型    完整性约束条件 ,

    字段名称3    字段类型    完整性约束条件 ,

    ...

)ENGINE=INNODB CHARSET=UTF-8;

其中:

字段类型(常用) : CHAR + VARCHAR + INT[UNSIGNED] + TINYINT[UNSIGNED] + ENUM + SET + YEAR + FLOAT等

完整性约束(常用) : PRIMARY KEY(主键) + NOT NULL(非空) + DEFAULT(默认值) + FOREIGN KEY(外键) + UNIQUE(唯一值)

修改表结构

1.修改表名

ALTER TABLE tb RENAME ntb                ---将表名tb修改为ntb(注意:MySQL不区分大小写,即tb == TB)

2.设置主键

 CREATE TABLE IF NOT EXISTS tb(
     id TINYINT UNSIGNED,
     name VARCHAR(10)

   );

ALTER TABLE tb ADD PRIMARY KEY([字段名称]);    ---添加主键

ALTER TABLE tb DROP PRIMARY KEY;        ---删除主键

3.设置默认值

CREATE TABLE IF NOT EXISTS tb(
     id TINYINT UNSIGNED,
     name VARCHAR(10)

   );

 ALTER TABLE tb ALTER [字段名称] SET DEFAULT [默认值] ;            ---添加默认值

ALTER TABLE tb ALTER [字段名称] DROP DEFAULT;                     ---删除默认值

4.设置唯一

CREATE TABLE IF NOT EXISTS tb(
     id TINYINT UNSIGNED,
     name VARCHAR(10)

   );

ALTER TABLE tb ADD UNIQUE(字段名称);                                    ---添加唯一值

ALTER TABLE tb DROP INDEX [字段名称];                                    ---删除唯一值

添加/删除/修改字段

ALTER TABLE tb ADD sex ENUM('男','女') DEFAULT '男';                            ---添加1个字段

ALTER TABLE tb ADD hobby SET('a','b','c') NOT NULL AFTER name;        ---指定位置处添加1个字段

ALTER TABLE tb ADD sex ENUM('男','女') DEFAULT '男',                             ---添加多个字段

                            ADD hobby SET('a','b','c') NOT NULL AFTER name;

_______________________________________________________________________________________________________________________

ALTER TABLE tb DROP [字段名称];                ---删除1个字段

ALTER TABLE tb DROP [字段名称1],              ---删除多个字段

                            DROP [字段名称2];

________________________________________________________________________________________________________________________

ALTER TABLE tb MODIFY [字段名称] [字段类型] [完整性约束]        ---可修改字段类型和完整性约束

_______________________________________________________________________________________________________________

插入数据

CREATE TABLE IF NOT EXISTS tb(                                ---创建非自增形式的数据表tb
userid TINYINT UNSIGNED KEY,
name VARCHAR(10) NOT NULL,
sex ENUM('男','女','保密') DEFAULT '男',
hobby SET('a','b','c'),
birth YEAR,
score FLOAT
)ENGINE=INNODB CHARSET=UTF8;

INSERT tb_1 VALUES(100,'m1','男','a,b,c','1994',78.5);            ---插入1条数据

INSERT tb_1 VALUES(102,'m2','女','a,c','1944',85.7),                ---插入多条数据

                                    (108,'m3','女','c','2008',60.1),

                                   (112,'m5',default,'a','1984',45);

___________________________________________________________________________________________________________________________

CREATE TABLE IF NOT EXISTS tb(                                    ---创建自增形式的数据表tb
userid TINYINT UNSIGNED KEY AUTO_INCREMENT,
name VARCHAR(10) NOT NULL,
sex ENUM('男','女','保密') DEFAULT '男',
hobby SET('a','b','c'),
birth YEAR,
score FLOAT
)AUTO_INCREMENT=100 ENGINE=INNODB CHARSET=UTF8;

INSERT tb_2(name,sex,hobby,birth,score) VALUES(112,'m5',default,'a','1984',45);         ---插入数据

(userid默认从100开始编号)

___________________________________________________________________________________________________________________________

查询数据

(1)基本语法

SELECT * FROM tb;                                                                              ---查询全部字段

SELECT name,sex,score FROM tb;                                                      ---查询指定字段

SELECT name AS '姓名',sex AS '性别',score AS '得分' FROM tb;        ---给字段起别名查询

(2)WHERE : 比较运算符(< > =)

SELECT * FROM tb WHERE age < 40;

(3)WHERE : 模糊查询(LIKE : _ [匹配单个字符] / % [匹配任意个字符])

SELECT * FROM tb WHERE name LIKE '张%';        ---匹配姓张的记录(可以是张/张...)

SELECT * FROM tb WHERE name LIKE '__峰';        ---匹配姓名为3个字且最后一个字为峰的记录

(3)WHERE : 区间查询(BETWEEN...AND...)

SELECT * FROM tb WHERE age BETWEEN 25 AND 40;

(4)WHERE : 范围查询(IN)

SELECT * FROM tb WHERE city IN('北京','上海','深圳');

字段排序

SELECT * FROM WHERE [条件] ORDER BY 字段名称 ASC(升序)/DESC(降序);

更新记录

UPDATE tb SET name='Hobe',age=20,from='重庆' WHERE [条件];

分组查询

SELECT [字段名称1],GROUP_CONCAT(字段名称2),COUNT(*) FROM tb GROUP BY [字段名称1];

内连接

条件: 两张表中有相同字段的数据

SELECT a.name , a.age , b.from

FROM tb_1 AS a

JOIN tb_2 AS b ON a.name = b.username;




























  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值