搜索
首页数据库mysql教程MySql数据库入门讲解_MySQL

bitsCN.com
MySql数据库入门讲解 一、数据库相关的概念Dbms: database manager system  数据库管理系统,即数据库的服务程序。 通常说的安装数据库就是安装dbms。 只有安装数据库的数据库系统才能真正的提供服务,所以安装数据库程序时,一般在安装管理服务程序时,会默认安装一个数据库实例。如SQL Server默认安装了相关的plus、northwind。而Mysql 默认安装test、mysql、information等,Oracle会安装时提示建议安装一个orcl数据库(当然名称也可以改)。以后在开发应用时有需求要新建数据库时,可以通过相关的客户端软件,连接服务程序创建相关的数据库实例。   具体关系如图: MySql数据库入门讲解_MySQL 二、MySQL数据库的安装下载地址:http://www.mysql.com/downloads/MySql的安装其实很简单,需要注意的是在安装进行到选择默认字符编码集时,请选择utf8。三、SQL简介强烈建议在学习SQL时,前期使用命令来学习不要用可视化的工具(包括创建修改表数据库等操作),这里用MySQL作为学习数据库。
 Structured Query Language:SQL的缩写,是结构化查询语言。1. 进入数据库  mysql [-h 主机名或ip] -u[ ]用户名 -p[密码]在window命令行中,输入mysql -h 192.168.1.106 -u chen -p 回车换行后,会有提示要求输入密码即可进入。注意-h 若是本机地址时,也可以不用输入-h的。 2. 查看dbms管理着几个数据库,目前有几个数据库  show databases;四、SQL 语句的分类1. DDL:data definition language  数据库定义语言适用对象:数据库、表结构。 关键字:CREATE  ALTER DROP
 2. DML:data manipulate language  数据操作语言 适用对象:表中的记录。  关键字:INSERT UPDATE DELETE3. DQL:data query language  数据查询语言 适用对象:表记录等等。 关键字:SELECT   DDL举例如下:0> 创建数据库:create database adtest;1> 创建表: (先要用use test; 数据库哦)create table if not exists employee(Id int primary key, Name varchar(100) unique not null, Gender varchar(5), Birthday date, salary float)2> 查看表结构: desc employee;3> 查看有哪些表:show tables;4> 增加一列图片列 alter table employee add image blob;5> 修改name列长度 alter table employ modify name varchar(40);6> 删除图片列 alter table employee drop image;7> 修改表名为user rename table employee to user;8> 修改表字符编码utf8 alter table employee character set utf8;9> 列名name改成username alter table employee change name username varchar(40);10> 删除表employee  drop table employee;   DML举例如下:1> 插入一条员工信息Insert into employ(id,name,gender,birthday,salary) values(‘1’,’xiaochen’,’2012-10-10’,12203.6);2> 客户端查看数据库的各种编码Show variables like ‘%char%’;有以下:character_set_client:通知服务器客户端使用的码表character_set_connection:链接数据库所使用的码表character_set_database:e是数据库服务器中某个库使用的字符集设定,如果建库时没有指明,将使用服务器安装时指定的字符集设置。    character_set_results:是数据库给客户端返回时使用的字符集设定,如果没有指明,使用服务器默认的字符集。        character_set_server:是服务器安装时指定的默认字符集设定。       character_set_system:是数据库系统使用的字符集设定注意:若在控制台中抛入中文,则必须输入set character_set_client=gbk;为了显示中文要输入set character_set_results=gbk;(控制台默认用本地gbk编码的)。这种set方式只对当前的命令控制台有效。 3> 更新操作  update tablename set columnname = value where ...或  Update t1(别名) set t1.columnname = value from tablename t1 where ...4. 删除操作 delete from tablename where ....DQL举例:1> 查询不同的英文成绩 同一英文成绩只显示一行Select distinct english from student2> 查询英文成绩大于90分,学号是1,3,8,9号学生的成绩Select id, name,english,chinese,math from student where english>90 and id in (1,3,8,9);3>对数学成绩排序后输出。 Asc 升序、Desc 降序SELECT name,math FROM student ORDER BY math ASC;
 4> 查询购买了几类商品,并且每类总价大于100的商品  group by ... Having...SELECT id,product,SUM(price) FROM orders GROUP BY product HAVING SUM(price)>100;特别注意:在SQL Server与Oracle使用group by 中,select中的字符必须是group by中出现的或使用了聚合函数如sum(ItmNum)或Agv、Min等。而MySql没有这种要求,所以上面的select id也能出来。 4. 常用mysql函数Count(*) 计数个数    sum(math) 数学成绩汇总     avg(chinese)中文平均成绩Max(chinese)中文最高成绩  Min(chinese)中文最低成绩5. DCL: data control language 数据控制语言适用对象:相关的dba操作 如grant等操作
 五、数据库约束1. 主外键约束  主键约束primary key 外键 foreign key业务主键 与业务相关 、  逻辑主键 与业务无关。 推荐有逻辑主键。2. 主键自动自增 MySql 主键要求int且用auto_increment自增。3. 定义唯一约束 unique4. 定义非空约束 not null 六、表与表之间的关系1. 一对多CREATE TABLE department( id int PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) UNIQUE NOT NULL);CREATE TABLE employee( id int PRIMARY KEY AUTO_INCREMENT,name VARCHAR(100) NOT NULL, salary FLOAT(8,2),dept_id int, CONSTRAINT dept_id_fk FOREIGN KEY(dept_id) REFERENCES department(id)); 2. 多对多关系CREATE TABLE teacher( id int PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) NOT NULL, salary FLOAT(8,2));CREATE TABLE students( id int PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) NOT NULL, grade VARCHAR(10));CREATE TABLE teacher_student( t_id int, s_id int, PRIMARY KEY(t_id,s_id), CONSTRAINT t_id_fk FOREIGN KEY(t_id) REFERENCES teacher(id), CONSTRAINT s_id_fk FOREIGN KEY(s_id) REFERENCES students(id));   3. 一对一关系CREATE TABLE book( id int PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) NOT NULL, price FLOAT(8,2));CREATE TABLE cartitem( id int PRIMARY KEY , num int, price FLOAT(8,2), CONSTRAINT b_id_fk FOREIGN KEY(id) REFERENCES book(id)); bitsCN.com

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
您什么时候应该使用复合索引与多个单列索引?您什么时候应该使用复合索引与多个单列索引?Apr 11, 2025 am 12:06 AM

在数据库优化中,应根据查询需求选择索引策略:1.当查询涉及多个列且条件顺序固定时,使用复合索引;2.当查询涉及多个列但条件顺序不固定时,使用多个单列索引。复合索引适用于优化多列查询,单列索引则适合单列查询。

如何识别和优化MySQL中的慢速查询? (慢查询日志,performance_schema)如何识别和优化MySQL中的慢速查询? (慢查询日志,performance_schema)Apr 10, 2025 am 09:36 AM

要优化MySQL慢查询,需使用slowquerylog和performance_schema:1.启用slowquerylog并设置阈值,记录慢查询;2.利用performance_schema分析查询执行细节,找出性能瓶颈并优化。

MySQL和SQL:开发人员的基本技能MySQL和SQL:开发人员的基本技能Apr 10, 2025 am 09:30 AM

MySQL和SQL是开发者必备技能。1.MySQL是开源的关系型数据库管理系统,SQL是用于管理和操作数据库的标准语言。2.MySQL通过高效的数据存储和检索功能支持多种存储引擎,SQL通过简单语句完成复杂数据操作。3.使用示例包括基本查询和高级查询,如按条件过滤和排序。4.常见错误包括语法错误和性能问题,可通过检查SQL语句和使用EXPLAIN命令优化。5.性能优化技巧包括使用索引、避免全表扫描、优化JOIN操作和提升代码可读性。

描述MySQL异步主奴隶复制过程。描述MySQL异步主奴隶复制过程。Apr 10, 2025 am 09:30 AM

MySQL异步主从复制通过binlog实现数据同步,提升读性能和高可用性。1)主服务器记录变更到binlog;2)从服务器通过I/O线程读取binlog;3)从服务器的SQL线程应用binlog同步数据。

mysql:简单的概念,用于轻松学习mysql:简单的概念,用于轻松学习Apr 10, 2025 am 09:29 AM

MySQL是一个开源的关系型数据库管理系统。1)创建数据库和表:使用CREATEDATABASE和CREATETABLE命令。2)基本操作:INSERT、UPDATE、DELETE和SELECT。3)高级操作:JOIN、子查询和事务处理。4)调试技巧:检查语法、数据类型和权限。5)优化建议:使用索引、避免SELECT*和使用事务。

MySQL:数据库的用户友好介绍MySQL:数据库的用户友好介绍Apr 10, 2025 am 09:27 AM

MySQL的安装和基本操作包括:1.下载并安装MySQL,设置根用户密码;2.使用SQL命令创建数据库和表,如CREATEDATABASE和CREATETABLE;3.执行CRUD操作,使用INSERT,SELECT,UPDATE,DELETE命令;4.创建索引和存储过程以优化性能和实现复杂逻辑。通过这些步骤,你可以从零开始构建和管理MySQL数据库。

InnoDB缓冲池如何工作,为什么对性能至关重要?InnoDB缓冲池如何工作,为什么对性能至关重要?Apr 09, 2025 am 12:12 AM

InnoDBBufferPool通过将数据和索引页加载到内存中来提升MySQL数据库的性能。1)数据页加载到BufferPool中,减少磁盘I/O。2)脏页被标记并定期刷新到磁盘。3)LRU算法管理数据页淘汰。4)预读机制提前加载可能需要的数据页。

MySQL:初学者的数据管理易用性MySQL:初学者的数据管理易用性Apr 09, 2025 am 12:07 AM

MySQL适合初学者使用,因为它安装简单、功能强大且易于管理数据。1.安装和配置简单,适用于多种操作系统。2.支持基本操作如创建数据库和表、插入、查询、更新和删除数据。3.提供高级功能如JOIN操作和子查询。4.可以通过索引、查询优化和分表分区来提升性能。5.支持备份、恢复和安全措施,确保数据的安全和一致性。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)