My SQL-2

SQL 是 Structured Query Language(结构化查询语言)的英文缩写,MySQL使用SQL语句存储和检索信息。

MySQL 支持SQL语句:

数据定义语句(DDL):用于改变数据库结构,包括创建、更改和删除数据库对象

用于操作表结构的DDL语句有:

create datebase

drop datebase

crease table

alter table

drop table

create index

drop index

数据操纵语句(DML)

DML用于检索和修改数据

select

insert

update

delete

事务控制语句(TCL)

事务是最小的工作单元,作为一个整体同时成功或失败,称为事务控制

用于事务控制的语句有:

start transaction– 开始事务处理

commit- 提交并结束事务处理

rollback- 撤销事务中已完成的工作

savepoint– 标记事务中可以回滚的点

数据控制语句(DCL)

 

常用命令总结

注意所有的文本命令必须以斜线开始,且以分号结束,不区分大小写

重复上一条命令的快捷键同matlab向上键,在执行前可进行修改

1 退出命令

成功地连接后,可以在mysql>提示下输入QUIT或exit; (或\q)随时退出:mysql> quit

2 显示所有数据库命令

使用SHOW语句找出服务器上当前存在什么数据库:mysql> SHOW DATABASES;

+----------+

| Database |

+----------+

| Information_schema|

| mysql |

| test |

+----------+

3访问某数据库

如果test数据库存在,尝试访问它: mysql> USE test

Database changed

注意,USE,类似QUIT,不需要一个分号,USE语句在使用上也有另外一个特殊的地方:它必须在一个单行上给出。

4 创建自己的数据库create database name;

创建数据库:create database mydata; 是database不是databases

5 在数据库中进行操作 use chenyy(databasename),之后所用的所有操作都是工作在此数据库之下

6创建表格 create table dept。

一定要与use e name连用,以创建者此数据库之下。

mysql> create table dept %创建部门表,没有分号

-> ( %输入的是(,但是显示的是<

-> deptno int primary key, % department mumber 数据类型为int,是主键

-> dname varchar(14), % department name

-> loc varchar(13) %location 所在地

-> );

Query OK, 0 rows affected (0.31 sec) %表已经创建好,问题解决Query(问题)

创建数据表时开始和结尾要加括号,这里用的是小括号"()",不是"<>",虽然mysql命令行显示是<>。

 

注:主键

MYSQL 的 primary key 和unique key 的区别

Primary Key与Unique Key

Primary key 与Unique Key都是唯一性约束。但二者有很大的区别:

1、Primary key的1个或多个列必须为NOT NULL,如果列为NULL,在增加Primary key时,列自动更改为NOT NULL。而UNIQUE KEY 对列没有此要求。

2、一个表只能有一个PRIMARY KEY,但可以有多个UNIQUE KEY。

7 创建表emp:

create table emp %雇员表

 

create table emp

(

empno int primary key,

ename varchar(10),

job varchar(10),

mgr int,

hiredate datetime,

sal double,

comm double,

deptno int(3), %int可指定长度1-11之间

foreign key(deptno) references dept(deptno) %创建外键deptno引用主键dept的deptno字段

);引用其实就是相等

8创建create table salgrade

--工资级别表

create table salgrade

(

grade int(3) primary key,

losal int(3),

hisal int(3)

);

不同数据库之间的不同主要有:数据类型、分页程序。

用于管理MySQL的数据库和表的内容的软件为MySQL Administer

9查看所有数据库命令 show databases;

10查看所有表命令 show tables;

11 观察某个表的结构:desc dept; ( description department)

12.1查询 : 查询表中所有数据 : select * from table_name;

  查询指定字段的数据 : select 字段1 , 字段2 from table_name;

  例 : select id,username from mytable where id=1 order by desc;多表查询语句------------参照第17条

13 向表dept中插入数据命令

insert into dept values(deptno,“dname”,“loc”);与上表中的结构对应。

 

--往部门表中查数据

insert into dept values(10,'Accounting','New York');

insert into dept values(20,'Research','Dallas');

insert into dept values(30,'Sales','Chicago');

insert into dept values(40,'Operations','Boston');

insert into dept values(50,'Admin','Washing');

Commit 制定好之后提交,托付; 交付

14 删除命令

14.1数据库删除 : Drop database db_name; 删除时可先判断是否存在,写成 : drop database if exits db_name

14.2删表 : drop table table_name; 例 : drop table mytable;

14.3 删除整个表中的信息,不删除表 : delete from table_name;

删除表中指定条件的语句 : delete from table_name where 条件语句 ; 条件语句如 : 列名=列内容,注意对字符串要加‘’。

表 faults的内容如下:

 

不同数据库之间的不同主要有:自动递增字段。

17自动递增字段

mysql> Create table article -> (id int primary key auto_increment, %自动递增字段 title varchar(255));

Query OK, 0 rows affected (0.20 sec)

mysql> insert into article values(null,'a'); 将id设为空,title=a插入到表中

Query OK, 1 row affected (0.25 sec)

mysql> select * from article; 可以看到id自动编号为1

+----+-------+

| id | title |

+----+-------+

| 1 | a |

+----+-------+

1 row in set (0.00 sec)

mysql> insert into article values(null,'b'); 再将id设为空,title=b插入到表中

Query OK, 1 row affected (0.27 sec)

mysql> Select * from article;

+----+-------+

| id | title |

+----+-------+

| 1 | a |

| 2 | b |

+----+-------+

2 rows in set (0.00 sec)

或者insert into article (title)values (‘c’);%只在title上插值

Select * from article;

18 取当前日期 select now();

19 将日期转换成任意的字符串,并设置字符串的格式

Select date_format(now(),‘%y-%m-%d %h:%i: %s );注意使用i表示分钟,不是m

%W 星期名字(Sunday……Saturday)

%w 一个星期中的天数(0=Sunday ……6=Saturday )

%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)

%d 月份中的天数, 数字(00……31)

%Y 年, 数字, 4 位

%y 年, 数字, 2 位

%a 缩写的星期名字(Sun……Sat)

%e 月份中的天数, 数字(0……31)

%m 月, 数字(01……12)

%c 月, 数字(1……12)

%b 缩写的月份名字(Jan……Dec)

%j 一年中的天数(001……366)

%H 小时(00……23)

%k 小时(0……23)

%h 小时(01……12)

%I 小时(01……12)

%l 小时(1……12)

%i 分钟, 数字(00……59)

%r 时间,12 小时(hh:mm:ss [AP]M)

%T 时间,24 小时(hh:mm:ss)

%S 秒(00……59)

%s 秒(00……59)

%p AM或PM

%U 星期(0……52), 这里星期天是星期的第一天

%u 星期(0……52), 这里星期一是星期的第一天

%% 一个文字“%”。

20插入任意日期

向表emp中插入日期,插之前先看看它的结构。

Desc emp

21向表emp中插值时,应该注意外键、参考、主键等。

程序中deptno int(3), foreign key(deptno) references dept(deptno)

而insert into dept values(deptno,‘dname’,‘loc’);与上表中的结构对应。

 

表dept的结构

--往部门表中查数据

insert into dept values(10,'Accounting','New York');

insert into dept values(20,'Research','Dallas');

insert into dept values(30,'Sales','Chicago');

insert into dept values(40,'Operations','Boston');

insert into dept values(50,'Admin','Washing');

Commit 制定好之后提交,托付; 交付

所以在填写emp的deptno一项时应该引用dept的deptno。

Insert into emp values(1,‘chenyy’,‘market’,123,‘2010-09-01 11:11:11’,8000,80,10);

 

posted @ 2016-05-25 10:34  沙瑞金书记  阅读(266)  评论(0编辑  收藏  举报