【9-2】mysql数据库学习01
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执行效率
【9-2】mysql数据库学习01的更多相关文章
- MySQL数据库学习: 01 —— 数据库的概述
壹 概述 一 了解SQL 1.1 数据库基础 1.1.1 什么是数据库 数据库(database)保存有组织的数据的容器(通常是一个文件或一组文件). 易混淆:人们常常用“数据库”这个词语来代表他们使 ...
- MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Mysql数据库学习笔记之数据库索引(index)
什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...
- MYSQL数据库学习笔记1
MYSQL数据库学习笔记1 数据库概念 关系数据库 常见数据库软件 SQL SQL的概念 SQL语言分类 数据库操作 创建数据库 查看数据库的定义 删除数据库 修改数据库 创建表 数据类型 约束 ...
- MySQL数据库学习笔记<一>
MySQL基本概念以及简单操作 一.MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系 ...
- MySQL数据库学习初步
我使用的环境是Win7,开始学习PHP和MySQL,并且买了本<Head First PHP & MySQL>,可以从Head First Labs官网获得HeadFirst系列书 ...
- mysql数据库学习目录
前面的话 对于前端工程师来说,数据库并不是主要技能点,但是基本的增删改查操作还是需要了解的.小火柴将mysql数据库的学习记录整理如下 目录 前端学数据库之基础操作 前端学数据库之数据类型 前端学数 ...
随机推荐
- Debugger 怎么用
Debugger 是一个很有用的工具,尤其对于workflow开发人员来说.可以帮助我们check 从source 到target的数据流.我们可以看到什么数据从source中流出,在接下来的tran ...
- 1.Android常见异常:android.view.WindowLeaked 分析以及解决办法
在项目中遇到WindowManager: Activity has leaked window问题,其实在stackoverflow.com可以找到详细答案:http://stackoverflow ...
- jQyery实现轮播器
看到各大网站上都有一个轮播器的效果,自己不禁也想做一个,查了资料,看了轮播器的原理,慢慢的试着做了做,最终效果勉勉强强 原理:如图,试想一下,若是将<ul>的width属性值设置的很宽,直 ...
- 【caffe】create_cifar10.sh在windows下解决方案
@tags caffe python windows下配置caffe后,create_cifar10.sh无法执行,因为是shell脚本.那就看懂脚本意思,用python重写一个: # create_ ...
- C语言之捕捉信号
我们有时候需要在程序中做一些对于用户或内核发出的信号后的处理,如写回文件等善后处理的事情,或者直接忽略信号(当你按Ctrl+C时我压根不理你).下面是一段信号处理的代码(POSIX C): int c ...
- [NOIP2013] 提高组 洛谷P1970 花匠
题目描述 花匠栋栋种了一排花,每株花都有自己的高度.花儿越长越大,也越来越挤.栋栋决定 把这排中的一部分花移走,将剩下的留在原地,使得剩下的花能有空间长大,同时,栋栋希 望剩下的花排列得比较别致. 具 ...
- STL之lower_bound和upper_bound
ForwardIter lower_bound(ForwardIter first, ForwardIter last,const _Tp& val)算法返回一个非递减序列[first, la ...
- [Android]Volley的使用
Volley是Google I/O 2013上提出来的为Android提供简单快速网络访问的项目.Volley特别适合数据量不大但是通信频繁的场景. 优势 相比其他网络载入类库,Volley 的优势官 ...
- Visual Studio 2012环境变量、工作目录、vc++目录、 命令等 的配置和作用
在调试 Visual Studio 212 程序时,经常有一些动态链接库(即 dll 文件)需要加载到工程里,这样才能依赖第三方库进行程序调试. 这些动态链接库,往往都是测试版本或是开发中的版本,或者 ...
- 初始化Git的配置
如何使用Git上传项目代码到github http://blog.csdn.net/llf369477769/article/details/51917557