MySQL基础
来源:互联网 发布:windows 驱动 路径 编辑:程序博客网 时间:2024/05/21 07:32
一、安装和连接
1.启动mysql服务器
sudo service mysql start
2.尝试MySQL
(1)连接与断开服务器
mysql -u rootquit或exit
(2)查看数据库
show databases;
(3)连接数据库
use information_schema
(4)查看表
show tables;
(5)查询
亦可用作简单的计算器
取消输入
二、创建数据库并插入数据
1.创建数据库
大多数系统不区分大小写,一般保留字大写,变量和数据小写。
CREATE DATABASE mysql_shiyan;
2.连接数据库
3.新建数据表
数据库只是一个框架,表才是实质内容。
CREATE TABLE 表名( 列名a 数据类型(数据长度), 列名b 数据类型(数据长度), 列名c 数据类型(数据长度));
4.数据类型
INT(4)
FLOAT(4)
DOUBLE(8)
5.插入数据
INSERT INTO 表的名字(列名a,列名b,列名c)VALUES(值1,值2,值3);
三、SQL的约束
1.约束分类
主键(PRIMARY KEY)
默认值(DEFAULT)
唯一(UNIQUE)
外键(FOREIGH KEY)
非空(NOT NULL)
2.主键
定义:
CREATE TABLE employee( id INT(10) PRIMARY KEY, name CHAR(20), ....);
或者
CREATE TABLE department( dpt_name CHAR(20) NOT NULL, CONSTRAINT dpt_pk PRIMARY KEY (dpt_name));
复合主键
CREATE TABLE project( proj_num INT(10) NOT NULL, proj_name CHAR(20) NOT NULL, CONSTRAINT proj_pk PRIMARY KEY (proj_num,proj_name));
3.默认值约束
有DEFALULT约束的列。插入数据为空时,将使用默认值
people_num INT(10) DEFAULT '10',
在使用INSERT语句时体现出来
正常插入INSERT INTO department(dpt_name,people_num) VALUES('dpt1',11);people_num 为空,使用默认值INSERT INTO department(dpt_name) VALUES('dpt2');
4.唯一约束
规定的列的每个值唯一
phone INT(12) NOT NULL,UNIQUE (phone),
5.外键约束
确保数据完整性,表现表之间的关系
CONSTRAINT emp_fk FOREIGN KEY(in_dpt) REFERENCES department(dpt_name)
添加外键失败处理1
添加外键失败处理2
外键的使用
6.非空约束
被非空约束的列,在插入时必须非空
age INT(10),salary INT(10) NOT NULL,
违反非空约束,不会报错,只有警告,salary被记为0
四、其它基本操作
1.索引
加快查询速度
ALTER TABLE 表名 ADD INDEX 索引名 (列名);CREATE INDEX 索引名 ON 表名 (列名);
2.视图
虚拟存在的表,只看到关心的数据
CREATE VIEW 视图名(列1,列2,列3)AS SELECT 列a,列b,列c FROM 表名字;`这里写代码片`
3.导入
LOAD DATA INFILE '文件名路径名' INTO TABLE 表名字;
txt文件用TAB键作为空格
4.导出
SELECT 列名1,列名2 INTO OUTFILE '文件名及路径名' FROM 表名字;
5.备份
mysqldump -u root 数据库名>备份文件名;//备份整个数据库mysqldump -u root 数据库名 表名>备份文件名;//备份整个表
6.恢复
1. source 文件;2. 新建空的数据库test mysql -u root test < 备份文件名;
阅读全文
0 0
- MySQL基础
- MySQL基础
- MySql基础
- MySQL基础
- mysql基础
- MYSQL基础
- MySQL基础
- mysql基础
- mysql基础
- MySQL 基础
- mysql基础
- mysql基础
- mysql 基础
- MySQL基础
- MySql 基础
- mysql基础
- mysql基础
- mysql基础
- JACK_C#_抽象,静态,接口
- kafka官网示例说明--KafkaProducer
- go语言
- JPA java change event handler 造成的eclipse卡死问题
- ts和js中let和var定义变量的区别
- MySQL基础
- win7+64位+Java学习基本软件安装+环境配置+eclipse(IDE)
- Python缺少zlib的问题
- Android GridView设置item不可点击
- minecraft清空50x50x50空间的方块
- 人工智障学习笔记——机器学习(14)mds&isomap降维
- @Autowired与@Resource的区别
- Windows下安装memcached及PHP扩展
- 关于API的理解