mysql学习笔记

基本了解:

mysql数据库为关系型数据库,个关系型数据库由一个或数个表格组成,表格中确定有(键(key): 表中用来识别某个特定的人物的方法, 键的值在当前列中具备惟一性。)mysql

登陆mysql(记得配置环境变量)

  1. 管理员模式打开cmd
  2. 启动服务net start mysql
  3. 登陆mysql -u root -p,回车以后根据提示输入密码
  4. 建表等操做
  5. 关闭服务net start mysql

注意,可能会报错:sql

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 保存退出后重启mysqlsegmentfault

  1. 点击“开始”->“运行”(快捷键Win+R)。
  2. 中止:输入 net stop mysql
  3. 启动:输入 net start mysql

这时候在cmd里面输入mysql -u root -p就能够不用密码登陆了,出现 password:的时候直接回车能够进入,不会出现ERROR 1045 (28000),但不少操做都会受限制,由于咱们不能grant(没有权限)。工具

继续按下面的流程走:ui

  1. 进入mysql数据库:
mysql> use mysql; 
Database changed
  1. 给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
  1. 刷新数据库
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
  1. 退出mysql:
mysql> quit; 
Bye

改好以后,再修改一下my.ini这个文件,把咱们刚才加入的 "skip-grant-tables"这行删除,保存退出再重启mysql就能够了。编码

关于可视化工具HeidiSql的使用

  1. 访问本机时候mysql时候,ip可使本机ip或者默认的127.0.0.1,用户名为mysql以前设置的用户名,密码也是本身设置的,个人默认为root,
  2. 配置好后直接打开便可

建立库才能建立表

-- 建立一个名为 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='用户表信息';

数据类型的属性解释:code

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 列名称 = 值

参考: http://www.javashuo.com/article/p-ddehbnhw-k.html索引

相关文章
相关标签/搜索