mysql 最基础操作

来源:互联网 发布:微信三级分销系统源码 编辑:程序博客网 时间:2024/05/21 10:27

2.3 MySQL支持的数据类型

  在MySQL中创建表时要熟悉MySQL的数据类型,它与Oracal不同。

面向对象的应用程序接口(API

Int 整型 4个字节,但是可以指定长度,最多可指定11个字节

Char定长字符串

DOUBLE浮点型

VARChar(M) [BINARY]一个变长字符串。注意:当值被存储时,尾部的空格被删除(这不同于ANSI SQL规范)M的范围是~ 255个字符。 VARCHAR值根据缺省字符集以大小写不区分的方式排序和比较,除非给出BINARY关键词值。 VARCHARCHARACTER VARYING一个缩写。

Datetime一个日期和时间组合。支持的范围是’1000-01-01 00:00:00′’9999-12-31 23:59:59′MySQL’YYYY-MM-DD HH:MM:SS’格式来显示DATETIME值,但是允许你使用字符串或数字把值赋给DATETIME的列。

Longtext长字符串类型,一个BLOBTEXT列,最大长度为4294967295(2^32-1)个字符

2.5 MySQL语句结构

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

MySQL 支持SQL语句:

数据定义语句(DDL):

用于改变数据库结构,包括创建、更改和删除数据库对象

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

CREATE DATABASE

DROP DATABASE

CREATE TABLE

ALTER TABLE

DROP TABLE

CREATE INDEX

DROP INDEX

数据操纵语句(DML

DML用于检索和修改数据

SELECT

 INSERT

 UPDATE

DELETE

事务控制语句(TCL

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

用于事务控制的语句有:

START TRANSACTION – 开始事务处理

COMMIT - 提交并结束事务处理

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

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

数据控制语句(DCL

2.4 常用命令总结

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

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

退出命令

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

显示所有数据库命令

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

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

| Database |

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

| Information_schema|

| mysql    |

| test     |

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

3访问某数据库

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

Database changed

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

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

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

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

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 KeyUnique Key

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

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

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

创建表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 valuesdeptno,“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 删除命令

141数据库删除 : 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 titlevalues (‘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 AMPM

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

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

%% 一个文字“%”

20插入任意日期

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

Desc emp

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

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

insert into dept valuesdeptno,‘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   制定好之后提交,托付交付

所以在填写empdeptno一项时应该引用deptdeptno

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

转自:http://blog.csdn.net/yongjian1092/article/details/7330094

0 0
原创粉丝点击