mysql安装


  • 下载社区版本MySQL软件包(地址),或者windows installer
  • 接压缩安装包到目标路径
  • 在系统变量Path中加入目标路径
  • 在mysql安装路径下,修改配置文件mysql-default.ini:

    basedir = C:\mysql\mysql(mysql所在目录)

    datadir = C:\mysql\mysql\data(mysql所在目录\data)

  • 以管理员身份启动CMD,运行安装: mysqld -install
  • 启动mysql: net start mysql
  • 登陆mysql:mysql -u root -p
  • 更改密码:mysql> update mysql.user set password=PASSWORD('123') where User='root' ;
  • mysql> flush privileges

表操作


  • 创建 create table [模式名].tablename(column_name 数据类型 default 值,......);

  • 删除表: drop table table_name;
  • 重命名表名:alter table table_name rename to new_table_name;
  • 添加列: alter table tablename add ......;
  • 修改列: alter table tablename modify ......;
  • 删除列: alter table tablename drop column_name;
  • 重命名列名:alter table tablename change old_column_name new_column_name;
  • 删除表中的数据:truncate tabl_name;

约束


  • 非空约束:在列定义和修改是追加 not null,取消非空约束追加 null;
  • 唯一约束:UNIQUE
    • 列级约束语法:在列定义后加 unique 关键字;
    • 表级约束语法(为多列建立组合约束):在创建表或修改表(add)时加入:unique(列名) 指定约束名:constraint 约束名 unique(列名,列名,....);(几个列名对应值组合不一样)
    • 删除唯一约束:alter table table_name drop index 约束名;
  • 主键约束:primary key
    • 在定义列时,追加 primary key
    • 表级约束语法:constraint 约束名 primary key(列名),或者 primary key(列名);
    • 删除主键约束:alter table table_name drop primary key;
    • 增加主键约束:add primary key(列名); modify 列名 primary key;
    • 主键自增长:auto_increment primary key
  • 外键约束:references table_name(column_name)
    • 列级约束:追加 references table_name(column_name);
    • 表级约束:foreign key(column_name) references table_name(column_name);
    • 为外键约束指定名字:constraint 约束名 foreign key(column_name) references table_name(column_name);
    • 删除约束:drop foreign key 约束名;
    • 外键约束可以自参照;
    • 主表删除时动作:追加 on delete cascade 或 on delete set null;
    • 列的值可以为null;
  • CHECK约束:追加 check(表达式);(不过,不起作用)

索引


  • 创建:create index index_name on table(column_name);
  • 删除:drop index index_name on table(column_name) ;
  • mysql数据库要求不同表,索引可以相同,oracle则要求索引名全局唯一;

视图


  • 创建:create or replace view view_name as 查询语句;
  • with check option ,创建的视图不可修改;
  • oracle 数据库:with read only;
  • 删除:drop view view_name;

记录的插入,修改,删除


  • 插入:insert into table_name[ (column_name,.......)] values(value,......);或者可以用select查询子句来插入值;
  • update:update table_name set column_name=value where 条件表达式;
  • delete from : delete from table_name where条件表达式;

MySQL密码重置


  • net stop mysql
  • mysqld -nt --skip-grant-tables
  • 打开一个新命入令行窗口,执行mysql,此时不需密码即可连接
  •  use mysql;
    update user set password=password("新密码") where user="root";
    flush privileges;
    exit;
  • 进任务管理器关闭mysqld -nt进程
  • net start mysql

tips


  • 利用Explain命令分析sql执行效率

最新文章

  1. 配置 LBaaS - 每天5分钟玩转 OpenStack(121)
  2. xcode8权限以及相关设置
  3. HTTP原型
  4. 分享25个新鲜出炉的 Photoshop 高级教程
  5. [算法导论]强连通分量 @ Python
  6. 改变placeholder颜色
  7. XML的验证模式
  8. 在Tomcat上配置CAS 自己的体验
  9. uva 12304
  10. ie8下jquery读取当前点击的标签位置错误,原因是里面有内容写了text-indent:-9999px
  11. Android Studio中自己定义快捷输入块
  12. 版本管理神器git上手
  13. Ubuntu安装完后设置root密码
  14. SerialPort如何读取串口数据并显示在TextBox上,多线程委托
  15. js获取地址栏URL上的参数
  16. LANMP系列教程之Apache编译安装CentOS7环境
  17. [洛谷P1198/BZOJ1012][JSOI2008] 最大数 - 树状数组/线段树?
  18. cmseasy CmsEasy_5.6_20151009 无限制报错注入(parse_str()的坑)
  19. Hystix熔断解决雪崩问题
  20. [HNOI2007]神奇游乐园(插头DP)

热门文章

  1. Python 编程小备忘
  2. hadoop-MapReduce分布式计算框架
  3. BZOJ 1116: [POI2008]CLO
  4. 说说markdown和latex的简单比较
  5. jquery插件-表单验证插件-demo
  6. BZOJ1049 [HAOI2006]数字序列0
  7. discuz /faq.php SQL Injection Vul
  8. Struts 2 Learning
  9. Spring mvc web 配置
  10. RabbitMQ Exchange中的fanout类型