mysql新手基础用法小总结
A
与oracle的全局数据库不同
- mysql需要先创建一个数据库: create database mydata;
- 接下来在mydata下面工作: use mydata;
- 在mydata这个数据库下创建一张表emp:
create table dept
(
deptno int primary key, #primary key主键约束,使得这个类型不会有重复的数据
dname varchar(14),
loc varchar(13)
);
在mydata这个数据库再创建一张表emp:
create table emp
(
empno int primary key, #primary key主键约束,使得这个类型不会有重复的数据
ename varchar(10),
job varchar(10),
mgr int,
hiredate datetime,
sal double,
comm double,
deptno int,
foreign key(deptno) references dept(deptno) #用外键的方式使这个表的deptno和dept表的deptno联系起来
);
############################################################################################
一个小技巧,如果说你在命令行窗口写错了,修改地很麻烦该怎么办?
可以在文本编辑器写好一系列语句,例如UltraEdit:
注意保存文件名后缀地址为 .sql
记住这个文件的地址路径
再命令行使用语句 ” \. 路径\\文件名“ 回车即可 例如:\. F:\\Mysql\\creates.sql
#############################################################################################
B
Show databases |
显示所有的数据库 |
Show tables |
显示当前数据库所有的表 |
desc 表名 |
显示当前表的结构 |
insert into 表名 values(元素1,元素2,…) |
在这张表中插入一条数据,注意类型要符合 |
delete from 表名 where 元素名称=你想删的数据特征 |
删除该表的一条数据 |
Update 表名 set 旧元素 = 新元素 (where 数据=你想更改的数据) |
修改表中的某一项数据 |
commit |
在执行完插入,删除或者其他的一些行为操作后,实现提交以上的行为结果 |
Select * from 表名 order by 元素 desc |
使这个表按照我想的元素倒序显示出来 |
Select * from 表名 limit 3,2 |
获得这张表的第三行开始往后的两条数据 |
Select * from dept order by deptno desc limit 3,2 |
获得dept里面按照deptno倒序的从第三条数据开始往后的两条数据 |
一些效果图:
C
auto_increment :实现每次插入一条数据,自动递增1。
演示相关用法:
//这里创建一张表article
create table article
(
Id int primary key auto_increment, #在这里加上auto_increment ,实现插入新数据时自动递增
Title varchar(255)
);
//插入两条数据且显示所有数据
insert into article values(null,'a'); #因为是auto_increment,所以写null就行,自动会添加的
insert into article values(null,'b');
select * from article;
//可以看到结果自动第一条数据的id为1,第二条数据id为2
D
时间的一点简单操作:
- Select now() :获得当前时间
- select date_format(now(),'%Y-%m-%d %h%i%s'); :按照你的格式使用显示时间
举一个插入一条数据包含时间的例子:
- insert into emp values(9999,'test','clerk',7369,'1981-12-23 12:23:23',8000,80,10);
一些效果图: