zoukankan      html  css  js  c++  java
  • 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);

  • 相关阅读:
    MyBatis的初始化方式
    WCF X.509验证
    NPOI导出EXCEL 打印设置分页及打印标题
    一些旁门左道
    曲线救国:IIS7集成模式下如何获取网站的URL
    图片的粘贴上传
    让EF飞一会儿:如何用Entity Framework 6 连接Sqlite数据库
    ASP.NET 保存txt文件
    JavaScript高级程序设计学习笔记--高级技巧
    JavaScript高级程序设计学习笔记--错误处理与调试
  • 原文地址:https://www.cnblogs.com/xcc2016/p/5526136.html
Copyright © 2011-2022 走看看