数据库

数据库基础

在我们目前的开发过程中,使用最多的就是关系型数据库(Oracle、MySQL、SQL Server、DB2等)。
在这里我们先主要讨论下MySQL

MySQL的优点:

  1. 开源、可供用户免费使用
  2. MySQL支持TCP/IP协议、ODBC和JDBC等数据库连接途径
  3. 支持多线程
  4. 可以更好的支持PHP

SQL语句

这是在数据库中通用的语言,所有的数据库都支持这些语句。

DDL:对数据库、数据库中的表、字段进行操作

创建数据库:

mysql> CREATE DATABASE test;
Query OK, 1 row affected

使用数据库:

mysql> USE test;
Database changed

查询所有的数据库:

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| ceshi              |
| english            |
| mybatis            |
| mysql              |
| performance_schema |
| spring             |
| story              |
| test               |
+--------------------+

删除数据库:

mysql> DROP DATABASE test;
Query OK, 0 rows affected

创建表:
创建一个test的表,id为Int型的自增的主键,一个长度可变的char类型的字符数组username,一个长度可变的Char类型字符数组password

[SQL] 
CREATE TABLE test(
	id INT(5) PRIMARY KEY AUTO_INCREMENT,
	username VARCHAR(10),
	password VARCHAR(10)
);
受影响的行: 0
时间: 0.965s

获取表的字段信息:

DESC test;

获取表的创建信息:

SHOW CREATE TABLE test;

修改表名:

ALTER TABLE test RENAME t_test;

删除表:

DROP TABLE t_test;

修改字段类型:

ALTER TABLE test MODIFY username VARCHAR(20);

添加字段类型:

ALTER TABLE test ADD type CHAR(1);

删除字段类型:

ALTER TABLE test DROP type;

修改字段名:

ALTER TABLE test CHANGE username name VARCHAR(10);

DML:对数据库进行增、删、改、查操作

增加:

方式一 ---------------------------> INSERT INTO test VALUES (1,'User1','123');
方式二 ---------------------------> INSERT INTO test(username, password) VALUES('User1', '123');
方式一这里,因为id设置成了自增长,所以可以将id设置为null值,他也会自动添加id的值。但是他每一个元素都必须赋值。
相比较于方式二,我们可以通过设置需要填入的数据,指定需要插入数据的元素。

删除:

清空表(清空后再次添加数据,主键从头开始)

TRUNCATE TABLE test; 

清空表(清空后再次添加数据,主键接着清空之前的值继续)

DELETE FROM test;

清空指定的数据

DELETE FROM test WHERE id = 1;

修改:

修改数据

UPDATE test set password = '111' WHERE id = 1;

多条件修改

UPDATE test set password = '111' WHERE id > 2 AND password = '123';

查询:

查询表中所有数据:

SELECT * FROM test;

查询指定字段的数据:

SELECT username,password FROM test;

查询数据去重:

SELECT DISTINCT username FROM test;

条件查询:

SELECT * FROM test WHERE id = 1;
SELECT * FROM test WHERE id > 3 AND username = 'User5';
SELECT * FROM test WHERE username = 'User5' OR password = '123';

模糊查询:

SELECT * FROM test WHERE username LIKE '%ser';
SELECT * FROM test WHERE username LIKE 'use%';
SELECT * FROM test WHERE username LIKE '%se%';
SELECT * FROM test WHERE username LIKE '_ser';
SELECT * FROM test WHERE username LIKE 'use_';
SELECT * FROM test WHERE username LIKE '_se_';
SELECT * FROM test WHERE username LIKE '_se%';
SELECT * FROM test WHERE username LIKE ‘__er’;

重新创建一个表

CREATE TABLE `student` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `name` varchar(32) DEFAULT NULL,
  `t_id` int(10) DEFAULT NULL,
  `age` int(10) DEFAULT NULL,
  `money` double(10,2) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8

查询排序:

SELECT * FROM test ORDER BY id ASC;
SELECT * FROM test ORDER BY id DESC;
SELECT * FROM test ORDER BY id,password DESC;

DCL:对于权限的操作。

DDL:是数据库控制语言。用来设置或更改数据库用户或角色权限的语句,很少接触到。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值