Mysql数据库入门一
来源:互联网 发布:电子报刊手机制作软件 编辑:程序博客网 时间:2024/06/08 03:53
数据库的概述:
1.什么是数据库?
- 数据库(DataBase,DB):指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合.
- 文件系统,数据的仓库
2.数据库管理系统?
- 数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据。
- 软件
- 数据库=数据的集合+数据库软件
Tips:
通常情况,经常会用数据库来表示他们使用的数据库软件,这经常会引起混淆,确切的说,数据库软件应该为数据库管理系统,数据库是通过数据库管理系统创建和操作的。
SQL分类:
DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;
CREATE、 ALTER、DROP(用来操作数据库和数据库表)DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据);
INSERT、 UPDATE、 DELETE(用于操作数据)DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别
DQL(Data Query Language):数据查询语言,用来查询记录(数据)
SELECT(查询数据库表中的数据)
数据库的crud:
登录数据库:
mysql -uroot -p //按回车键然后输入密文密码 -p后面没有分号mysql -uroot -p123456 //-p后面直接加上密码, 注:后面没有分号
使用数据库:
USE databaseName; // databaseName是你要切换的数据库名
创建数据库:
CREATE DATABASE databaseName; // databaseName要创建的数据库名
字符集(charset):是一套符号和编码;
校对规则(collation):是在字符集内用于比较字符的一套规则
CREATE DATABASE databaseName [CHARACTER SET charset] [COLLAT collation];如:CREATE DATABASE databaseName CHARACTER SET gbk COLLAT gbk_chines e_ci;
删除数据库:
DROP databaseName; // databaseName要删除的数据库
显示已有的数据库:
SHOW DATABASES; // 别忘了databases 后面有s的哦
查看正在使用的数据库:
SELECT DATABASE();
查看数据库定义的信息:
SHOW CREATE DATABASE databaseName; // databaseName要查看的数据库
修改数据库:
alter DATABASE databaseName [CHARACTER SET charset]; // databaseName要修改的数据库, 后面加上需要修改的东西
表的CRUD(一):
显示所有的表:
SHOW TABLES; // 别玩了tables后面有s哦
查看表结构:
DESC tableName; // tableName要查看的表名
创建表:
CREATE TABLE tableName ( 列名 类型 约束, 列名 类型 约束, 列名 类型 约束, ....);如:// 注意最后一条列名信息后面不需要逗号","CREATE TABLE myDB ( uid int auto_imcrement primary key, uname varchar(20), age int);// 或者在创建表的后面加一些信息CREATE TABLE myDB ( uid int auto_imcrement primary key, uname varchar(20), age int)ENGINE=InnoDB DEFAULT CHARSET=utf8;
约束:
not null: 非空 (存放数据的时候,该列不能为空)
unique: 唯一约束, 后面的数据不能和前面重复
- primary key: 主键约束(非空+唯一); id:作为数据的唯一标识,通常给id int类型设置主键约束,auto_increment null
- auto_increment: 自动增长列 ,一定是和主键一起使用的。
修改表:
// 修改表名方式一RENAME TABLE old_tableName to new_tableName;// 修改表名方式二ALTER TABLE old_tableName RANAME new_tableName;// 修改列的类型约束(只能修改类型和约束)ALTER TABLE tableName MODIFY 列名 [类型] [约束];// 修改列的名称(可以修改列名,类型和约束)ALTER TABLE tableName CHANGE 旧列名 [新列名] [类型] [约束];ALTER TABLE student CHANGE t_name s_name varchar(20); // 把t_name列名改为s_name列名// 增加一列ALTER TABLE tableNane ADD 列名类型 约束;// 删除表DROP TABLE tableName;
表的CRUD(二)
插入数据:
// 对应列插入相应的值INSERT INTO tableName(列, 列..) VALUE (值, 值..);// 插入全部值 (有多少列就有多少有值, 如有空 要用NULL)INSERT INTO tableName VALUE (值, 值...);
注意 :
- 没有赋值的列,系统自动赋为null
- 列名与列值的类型、个数、顺序要一一对应
- 值不要超出列定义的长度
- 如果插入空值,请使用null
- 插入的日期和字符串,使用引号括起来
更新表数据:
UPDATE tableName SET 字段 = 值, 字段 = 值 [WHERE 条件];
删除表数据:
// 可以根据某个条件删除表数据DELETE FROM tableName [WHERE 条件];// 删除表再创建一张空表TRUNCATE TABLE tableName;
查询表:
// 查询某张表的全部记录SELECT * FROM tableName;// 根据某些条件查询某些记录SELECT [列名,列名] [*] [聚合函数][DISTINCT 字段] FROM 表名 [WHERE --> GROUP BY -->HAVING--> ORDER BY]
聚合函数: sum(), avg(), max(), min(), count();
// 查询学生表的chinese成绩的总和SELECT SUM(chinese) FROM student;// 查询学生表的chinese成绩的平均分SELECT AVG(chinese) FROM student;// 查询学生表的chinese成绩的最大值SELECT MAX(chinese) FROM student;// 查询学生表的chinese成绩的最小值SELECT MIN(chinese) FROM student;// 根据id查询有多少学生SELECT COUNT(id) FROM student;
排序查询: asc-升序,desc-降序
// 根据升序查询学生的语文成绩SELECT * FROM student ORDER BY chinese ASC;// 根据降序查询学生的语文成绩SELECT * FROM student ORDER BY chinese DESC;
group by:
语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。
例子: 比如我想根据性别分类列出男女的个数
SELECT sex,COUNT(*) AS sum FROM students GROUP BY(sex);例如输出:sex sum男 2女 3
阅读全文
0 0
- Mysql数据库入门一
- mysql数据库入门必读一
- MySQL数据库入门(一)
- MySQL数据库的入门(一)
- mysql数据库入门学习(一)
- MySQL数据库入门--读书笔记(一)
- MySQL数据库(入门)(一)
- MySQL---数据库从入门走向大神系列(一)-基础入门
- MySQL数据库之使用与开发(一)------mysql入门
- [入门]MySQL学习笔记一创建数据库和表
- MySQL 入门(一)—— 常用数据库介绍
- MySQL 入门(一)—— 常用数据库介绍
- 《MySQL必知必会》笔记一 数据库入门及数据检索
- Mysql数据库学习入门
- mysql数据库入门
- MYSQL数据库入门
- MySql 数据库入门讲解
- MYSQL数据库入门
- 写第一个PHP项目——《博客系统模型》,心得与体会
- java和TreeView在HTMl5动态显示树状图
- 学习匹配sad之程序报错
- git中tag与release的创建以及两者的区别
- 使用安卓手机控制树莓派
- Mysql数据库入门一
- Quartz使用
- UiAutomator通过ant实现快速调试
- CS229part3广义线性模型
- 遍历JObject中的Json数据(以百度云人脸识别api返回的JSON数据为例)
- 从零到实现Shiro中Authorization和Authentication的缓存
- 一款轻量级的 iOS 图像缓存 (来源oschina)
- CSU 1505 酷酷的单词 (简单题)
- 简单loading