MySQL基础

1,由瑞典MySQL AB公司开发,目前是属于Oracle公司

2,是开源关系型数据库管理系统。开源意味着没有盗版,关系型意味着跟oracle一样,表与表之间是一对多,多对一等关系

3,分为社区版和企业版。社区版不付费


 

语句规范:

关键字与函数名大写;

数据库名称,表名称,字段名称,小写;

sql语句以分号结尾;

PK:primary key 主键

NN:not null 不为空

UQ:unique 唯一约束

ZF:zero fill 值中最有意义的字节总为0,并且不保存。ZF个人理解指的是带有小数占位符的数据相当于金额类型的数据。

AI: auto increment 自增

BIN: binary 二进制(比text更大的二进制数据)

UN: unsigned 整数

 

 

#创建Test数据库,设置编码格式为utf8
CREATE DATABASE Test CHARACTER SET UTF8;
#切换数据库
USE Test;
#创建表
CREATE TABLE User
(
  id INT PRIMARY KEY AUTO_INCREMENT,
    userName varchar(20) NOT NULL,
    password varchar(20) NOT NULL,
    email varchar(20) NOT NULL
);
DROP USER test;
#%可以允许用户从任意主机访问
CREATE USER test@'%' IDENTIFIED BY '123456';
#授予Test数据库中的所有表的所有权限给test用户
GRANT ALL ON Test.* TO test;
#刷新权限缓存  privileges特权
FLUSH PRIVILEGES; 

#mysql特有的多条插入语句
INSERT INTO Grade(name) VALUES
('S1'),('S2'),('Y2');
INSERT INTO Student(gradeId,name) VALUES
(1,'张三'),(2,'李四'),(3,'王五'),(4,'赵六'),(5,'沈七');

#查询学生子表,所有学生以及所属年级  结果集中出现重复的列用as 起个别名
SELECT
    s.id,
    s.gradeId,
    s.name,
    g.name as gradeName
FROM Student s INNER JOIN Grade g ON s.gradeId=g.id
ORDER BY s.id;

 

posted @ 2016-10-09 10:52  Angelinas  阅读(128)  评论(0编辑  收藏  举报