启动mysql服务:
net start mysql
(使用这个命令启动mysql,需要把mysql注册到服务列表中,如果是wamp自带的mysql注册到服务列表还有点麻烦,如果有高手希望告知一二)
登陆mysql:
mysql -u root -p 回车,输入密码。
查看用户:use mysql 回车,select * from user; 回车。这样能列出所有用户,但是比较乱,如果只需要查看用户名、允许登陆的主机,那么使用 select User,Host from user;
创建用户:
create user 'zhangxiansen'@'localhost' identified by 'zhangxiansen';
如上命令就能创建一个账号为zhangxiansen,1、密码为zhangxiansen的用户,第一个zhangxiansen是账号,第二个zhangxiansen是密码;2、@后面的是允许登陆的主机,可以是ip地址、localhost、%,%代表允许任何地方可以登陆,localhost只允许使用localhost登陆,ip地址只能在对应ip的机器上登陆。
用户授权:
grant all on *.* to 'zhangxiansen'@'localhost';
该命令可以给能用localhost登陆的zhangxiansen账户授予对所有数据所有表的所有权限。1、all 代表所有权限,如果只授予增删权限,则用add,delete代替all;2、第一个*代表所有数据库,如果指定test_data数据库,则用test_data代替第一个*,第二个*代表所有表,如果指定stu表,则用stu代替第二个*;3、to后面的就是指定授予权限的用户,同时还应该指定允许登陆的地址,即@后面的。
(创建用户以及授权在http://my.oschina.net/u/1179414/blog/202377有很详细的解释。)
创建数据:
create database test_data(数据库名字,自己定义); 回车。
(在创建表之前需要指定在哪个数据库中建,所以一般需要使用use命令,就像上面use mysql,指定对mysql数据库进行操作。)
创建表:
create table stu(
stuId int primary key auto_increment, -- primary key设置主键,auto_increment设置列自增。
stuName varchar(15) not null,
roomId int
);
create table classRoom(
roomId int primary key auto_increment,
roomName int
);
1、-- 是数据中的注释;2、在最后一列后面不需要逗号;3、最后的收括号后面需要加上分号。
修改列属性:
alter table classRoom modify roomName char(10);
上面我创建classRoom表名字字段是int型的,我们就可以用modify命令修改。1、classRoom是需要修改列的表;2、roomName需要修改的列。
添加列:
alter table stu add column age int not null;
该命令可以给stu表添加age列。1、stu需要添加列的表,age需要添加的列,后面跟上列的类型(必须)以及各种约束(自选)。
添加外键:
alter table stu constrain stu_room foreign key(roomId) references classRoom(roomId); 该命令可以给stu表的roomId添加外键约束。1、stu需要添加外键约束的表;2、stu_room外键名字,自定义;3、第一个roomId是stu表中的列,第二个则是classRoom中的列。添加外键还可以在创建表结构的时候就一并创建,例如:
create table desk(
deskId int primary key auto_increment,
roomId int,
constrain desk_room(外键名) foreign key(roomId) references classRoom(roomId)
);
这样同样可以创建外键约束。
创建主键:
如上,在id列后面 primary key 可以创建主键。如果主键有多列,例如:
create table rectangle(
wide int not null,
len int not null,
primary key(wide,len)
);
这样rectangle表的主键就由wide、len列组成。(这仅仅是个例子,意在说明多列主键的创建方法,在表结构设计上有问题。)
增删查改:
insert into classRoom(roomName) values('402');
该命令就在classRoom表中插入一条数据,roomId是自增长,所以不需要手动插入值。
insert into desk(roomId) values(1);
该命令可以在desk表中插入一条数据,由于roomId是外键,那么在classRoom表中必须要有roomId等于1的数据才能成功插入。
delete from classRoom where roomId=1;
该命令可以在classRoom表中删除roomId=1的一行数据,由于有外键,删除时可能会影响desk、stu表中的数据,具体可以看一看外键的属性介绍。
update classRoom set roomName='403' where roomId=1;
如果classRoom表中存在roomId等于1的数据,则该行数据的roomName值将会修改为403。
select * from classRoom where roomId=1;
该命令查找roomId=1的数据。如果需要指定查找的列,那么使用如下命令:
select roomName from classRoom where roomId=1;
该命令只查找roomName列的值。

MySQL是一种开源的关系型数据库管理系统,主要用于快速、可靠地存储和检索数据。其工作原理包括客户端请求、查询解析、执行查询和返回结果。使用示例包括创建表、插入和查询数据,以及高级功能如JOIN操作。常见错误涉及SQL语法、数据类型和权限问题,优化建议包括使用索引、优化查询和分表分区。

MySQL是一个开源的关系型数据库管理系统,适用于数据存储、管理、查询和安全。1.它支持多种操作系统,广泛应用于Web应用等领域。2.通过客户端-服务器架构和不同存储引擎,MySQL高效处理数据。3.基本用法包括创建数据库和表,插入、查询和更新数据。4.高级用法涉及复杂查询和存储过程。5.常见错误可通过EXPLAIN语句调试。6.性能优化包括合理使用索引和优化查询语句。

选择MySQL的原因是其性能、可靠性、易用性和社区支持。1.MySQL提供高效的数据存储和检索功能,支持多种数据类型和高级查询操作。2.采用客户端-服务器架构和多种存储引擎,支持事务和查询优化。3.易于使用,支持多种操作系统和编程语言。4.拥有强大的社区支持,提供丰富的资源和解决方案。

InnoDB的锁机制包括共享锁、排他锁、意向锁、记录锁、间隙锁和下一个键锁。1.共享锁允许事务读取数据而不阻止其他事务读取。2.排他锁阻止其他事务读取和修改数据。3.意向锁优化锁效率。4.记录锁锁定索引记录。5.间隙锁锁定索引记录间隙。6.下一个键锁是记录锁和间隙锁的组合,确保数据一致性。

MySQL查询性能不佳的原因主要包括没有使用索引、查询优化器选择错误的执行计划、表设计不合理、数据量过大和锁竞争。 1.没有索引导致查询缓慢,添加索引后可显着提升性能。 2.使用EXPLAIN命令可以分析查询计划,找出优化器错误。 3.重构表结构和优化JOIN条件可改善表设计问题。 4.数据量大时,采用分区和分表策略。 5.高并发环境下,优化事务和锁策略可减少锁竞争。

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

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

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


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Atom编辑器mac版下载
最流行的的开源编辑器

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

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

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