(一)常见SQL句子

1.SELECT USER()  获得登录的客户

2.SELECT VERSION()  获得mysql的版本信息

3.SELECT NOW()  获得当今的時间

4.SELECT DATABASE()  获得开启的数据库姓名

(二)数据库有关实际操作

1.建立数据库(名字不必包括特殊符号或是是MySQL关键词)

(1)CREATE {DATABASE|SCHEMA} db_name;

如:CREATE DATABASE dou

(2)CREATE {DATABASE|SCHEMA} db_name [IF NOT EXISTS ] db_name   检验数据库名字是不是存有,不会有则建立

如:CREATE DATABASE IF NOT EXISTS dou;

(3)CREATE DATABASE [IF NOT EXISTS] db_name [DEFAULT] CHARACTER SET [=] charset;  在建立数据库的另外指定编码方法

如:CREATE DATABASE IF NOT EXISTS dou DEFAULT CHARACTER SET 'GBK';

 2.查询当今网络服务器下所有数据库

SHOW DATABASES|SCHEMAS;(留意s)

3.查询指定数据库的详细资料

SHOW CREATE DATABASE dou;

4.改动指定数据库的编码方法

ALTER DATABASE dou DEFAULT CHARACTER SET 'UTF8';

5.开启指定数据库

USE dou

6.获得当今开启的数据库

SELECT DATABASE()|SCHEMA();(留意小括号)

7.删掉指定数据库

DROP DATABASE dou;

DROP DATABASE IF EXIST dou;假如存有则删掉

(三)数据分析表有关实际操作

1.创建表

CREATE TABLE [IF NOT EXISTS] tbl_name(
字段名称 字段种类 [一致性约束],
字段名称 字段种类 [一致性约束],
...
)ENGINE=储存模块 CHARSET=编码方法;

如:

CREATE TABLE IF NOT EXISTS dou(
id INT PRIMARY KEY,
username VARCHAR(20),
password CHAR(32),
email VARCHAR(50),
age TINYINT,
card CHAR(18),
tel CHAR(11),
salary FLOAT(8,2),
married TINYINT(1),
addr VARCHAR(100),
sex ENUM('男','女','信息保密')
)ENGINE=INNODB CHARSET=UTF8;

一致性管束:

①UNSIGNED 无标记,沒有负值,从0开始

②NOT NULL 非空管束,值不可以为NULL,可以不填,不填即是空缺

③DEFAULT 初始值 假如插进的情况下沒有给字段取值则应用初始值

  如:age TINYINT UNSIGNED DEFAULT 18

④PRIMARY KEY 主键,值不可以反复,一个表只有有一个主键,字段不可以为空;

可是一个表中能够 有复合型主键

如:

-- 复合型主键
CREATE TABLE test_primary_key(
id INT UNSIGNED,
courseId VARCHAR(20),
username VARCHAR(20),
email VARCHAR(50),
PRIMARY KEY(id,courseId)
);

这时仅有当id和courseid另外和前边的同样时,才会错误,假如仅有一个反复也是能够 一切正常加上的

⑤AUTO_INCREMENT 全自动提高,只有用以标值列,并且相互配合数据库索引应用,默认设置初值为1,每一次提高1

如:

CREATE TABLE test_auto_increment(
id INT UNSIGNED KEY AUTO_INCREMENT,
username VARCHAR(20)
);

INSERT test_auto_increment(username) VALUES('A');
INSERT test_auto_increment(username) VALUES('B');

INSERT test_auto_increment(id,username) VALUES(NULL,'E');
INSERT test_auto_increment(id,username) VALUES(DEFAULT,'F');
INSERT test_auto_increment(id,username) VALUES(15,'G');

INSERT test_auto_increment(username) VALUES('C');

这时最后一次的id为16

⑥UNIQUE KEY 唯一性,一样的值不可以反复,可是NUL以外

⑦ZEROFILL 零添充,当数据信息的显示信息长短不足的情况下能够 应用前补0的实际效果添充至指定长短,字段会全自动加上UNSIGNED

如:

CREATE TABLE zero(
id INT(4) ZEROFILL
);

INSERT zero VALUES(1);

全自动前边补零即 0001

⑧FOREIGN KEY 外键约束

2.查询当今数据库下现有数据分析表

SHOW TABLES;

3.查询指定数据分析表的详细资料

SHOW CREATE TABLE test_auto_increment

4.查询表结构

DESC|DESCRIBE test_auto_increment

SHOW COLUMNS FROM test_auto_increment

5.删掉指定数据分析表

DROP TABLE [IF EXISTS] test_auto_increment

(四)表结构有关实际操作

①加上字段

ALTER TABLE tbl_name
ADD 字段名称 字段属性 [一致性约束] [FIRST|AFTER 字段名称]

如:

-- 加上电子邮箱字段 email VARCHAR(50) NOT NULL UNIQUE ,并将email加上到username后边
ALTER TABLE user1
ADD email VARCHAR(50) NOT NULL UNIQUE AFTER username;

②删掉字段

-- 删掉test字段
ALTER TABLE user1
DROP username;

③改动字段种类、字段属性

ALTER TABLE tbl_name
MODIFY 字段名称 字段种类 [字段属性] [FIRST | AFTER 字段名称]

如:

- 将email字段改成VARCHAR(50) NOT NULL FIRST

ALTER TABLE user1
MODIFY email VARCHAR(50) NOT NULL FIRST;

④改动字段名称、字段种类、字段属性

ALTER TABLE tbl_name
CHANGE 原字段名称 新字段名称 字段种类 字段属性 [FIRST | AFTER 字段名称]

如:

-- 将password 名字改成pwd
ALTER TABLE user1
CHANGE password pwd CHAR(40) NOT NULL;

⑤加上主键

ALTER TABLE tbl_name
ADD PRIMARY KEY(字段名称)

⑥加上唯一

ALTER TABLE tbl_name
ADD UNIQUE KEY(字段名称)

⑦删掉唯一

ALTER TABLE tbl_name
DROP (字段名称)

⑧改动数据分析表名字

ALTER TABLE tbl_name

RENAME new_tbl_name

或是立即 RENAME TABLE tbl_name TO new_tbl_name