基本了解:
mysql数据库为关系型数据库,个关系型数据库由一个或数个表格组成,表格中肯定有键(键(key): 表中用来识别某个特定的人物的方法, 键的值在当前列中具有唯一性。)
登录mysql(记得配置环境变量)
- 管理员模式打开cmd
- 启动服务net start mysql
- 登录mysql -u root -p,回车之后根据提示输入密码
- 建表等操作
- 关闭服务net start mysql
注意,可能会报错:
C:\AppServ\MySQL> mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES
解决方法如下:
编辑mysql配置文件my.ini(在mysql的安装目录下,我的在D:Program FilesMySQLMySQL Server 5.0my.ini),在[mysqld]这个条目下加入 skip-grant-tables 保存退出后重启mysql
- 点击“开始”->“运行”(快捷键Win+R)。
- 停止:输入 net stop mysql
- 启动:输入 net start mysql
这时候在cmd里面输入mysql -u root -p就可以不用密码登录了,出现 password:的时候直接回车可以进入,不会出现ERROR 1045 (28000),但很多操作都会受限制,因为我们不能grant(没有权限)。
继续按下面的流程走:
- 进入mysql数据库:
mysql> use mysql;
Database changed
- 给root用户设置新密码:
mysql> update mysql.user set authentication_string=password("新密码") where user="root";
Query OK, 1 rows affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
- 刷新数据库
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
- 退出mysql:
mysql> quit;
Bye
改好之后,再修改一下my.ini这个文件,把我们刚才加入的 “skip-grant-tables”这行删除,保存退出再重启mysql就可以了。
关于可视化工具HeidiSql的使用
- 访问本机时候mysql时候,ip可以使本机ip或者默认的127.0.0.1,用户名为mysql之前设置的用户名,密码也是自己设置的,我的默认为root,
- 配置好后直接打开即可
创建库才能创建表
-- 创建一个名为 samp_db 的数据库,数据库字符编码指定为 gbk
create database samp_db character set gbk;
drop database samp_db; -- 删除 库名为samp_db的库
show databases; -- 显示数据库列表。
use samp_db; -- 选择创建的数据库samp_db
show tables; -- 显示samp_db下面所有的表名字
describe 表名; -- 显示数据表的结构
delete from 表名; -- 清空表中记录
创建表
CREATE TABLE `user_accounts` (
`id` int(100) unsigned NOT NULL AUTO_INCREMENT primary key,
`password` varchar(32) NOT NULL DEFAULT '' COMMENT '用户密码',
`reset_password` tinyint(32) NOT NULL DEFAULT 0 COMMENT '用户类型:0-不需要重置密码;1-需要重置密码',
`mobile` varchar(20) NOT NULL DEFAULT '' COMMENT '手机',
`create_at` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
`update_at` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
-- 创建唯一索引,不允许重复
UNIQUE INDEX idx_user_mobile(`mobile`)
)
ENGINE=InnoDB DEFAULT CHARSET=utf8
COMMENT='用户表信息';
数据类型的属性解释:
NULL:数据列可包含NULL值;
NOT NULL:数据列不允许包含NULL值;
DEFAULT:默认值;
PRIMARY:KEY 主键;
AUTO_INCREMENT:自动递增,适用于整数类型;
UNSIGNED:是指数值类型只能为正数;
CHARACTER SET name:指定一个字符集;
COMMENT:对表或者字段说明;
增删改查
select
SELECT 语句用于从表中选取数据。
语法:SELECT 列名称 FROM 表名称
语法:SELECT * FROM 表名称
update
Update 语句用于修改表中的数据。
语法:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
insert
INSERT INTO 语句用于向表格中插入新的行。
语法:INSERT INTO 表名称 VALUES (值1, 值2,....)
语法:INSERT INTO 表名称 (列1, 列2,...) VALUES (值1, 值2,....)
delete
DELETE 语句用于删除表中的行。
语法:DELETE FROM 表名称 WHERE 列名称 = 值