数据库相关
- 启动服务
sudo service mysql start
- 连接数据库
mysql -u root
- 查看数据库
show databases
- 创建数据库
CREATE DATABASE <database name>
- 跳转数据库
use <database name>
- 查看表
show tables
- 创建表
CREATE TABLE <table name>{<culomn name> type}
- 退出 'exit'
数据类型
详细可参考:mysql数据类型
约束
在创建新表时,可以对新建列添加约束,用以更好的说明表.
主键(PRIMARY KEY)
不能为空且整表唯一
CREATE TABLE people(
id int(10) PRIMARY KEY,
name VARCHAR(10),
)
可以设置多列总体为主键
create table student
(
name varchar(19),
id NUMBER,
value VARCHAR(10),
PRIMARY KEY (name,id)
)
默认值 (DEFAULT)
在插入数据时,如果该列未指定值,则默认值生效
CREATE TABLE people(
id int(10) PRIMARY KEY ,
name VARCHAR(10) DEFAULT 233,
)
INSERT INTO people(id)VALUES(1); // id 1 name 233
唯一约束(UNIQUE)
该列的所有值唯一
CREATE TABLE people(
id int(10) PRIMARY KEY ,
name VARCHAR(10) UNIQUE,
INSERT INTO people(id,name)VALUES(1,'jack'); //sucess
INSERT INTO people(id,name)VALUES(2,'jack'); //faild
)
外键约束 (FOREIGN KEY)
设定某列的值为另一个表的某行
CREATE TABLE Orders
(
Id_O int NOT NULL,
OrderNo int NOT NULL,
Id_P int,
PRIMARY KEY (Id_O),
FOREIGN KEY (Id_P) REFERENCES Persons(Id_P) //id_P的值为Persons表中Id_P对应的那一行
)
非空约束
设定该列必须有值,不然执行语句出错
CREATE TABLE people(
id int(10) PRIMARY KEY ,
name VARCHAR(10) UNIQUE NOT NULL,
INSERT INTO people(id,name)VALUES(1,'jack'); //sucess
INSERT INTO people(id)VALUES(2); //faild
数据相关
VAHR VARCHAR,TEXT,DATE,TIME,ENUM 值需要用单引号括起来
插入数据
INSERT INTO <table name>(<culomn name1>,<culomn name2>,<culomn name4>) VALUES(<value1>,<value2>,<value4>)
选择数据
SELECT <column name>,<column name> FROM <table name> WHERE <condition>
条件选择拼接(OR AND)
SELECT <column name>,<column name> FROM <table name> WHERE <condition> AND/OR <condition>
范围选择 (IN & NOT IN)
选择某个条件为某列值为选定值
SELECT name,age,phone,in_dpt FROM employee WHERE in_dpt NOT IN ('dpt1','dpt3'); //选择 in_dpt 的值在 'dpt1'和'dpt3'等
通配符(LIKE)
在LIKE后添加通配符组成查询条件
_表示一个未指定字符
%表示一个或多个未指定字符
SELECT name,age,phone FROM employee WHERE phone LIKE '1101__';//1101开头的六位数字
排序(ORDER BY)
可以指定查询结果按照某列的值增序(ASC)降序(DESC)
SELECT name,age,salary,phone FROM employee ORDER BY salary DESC;
网友评论