数据库 基本命令

约定:
shell>window下输入的命令

mysql>进入MySQL程序后,输入的MySQL的命令

一、SQL简介
1、SQL:Structured Query
Language结构化查询语言
他是客户与数据库打交道的通道
2、SQL是有工业标准的。ANSI
符合工业标准的SQL,称之为普通话。
不同的数据库都在SQL工业标准的基础上进行扩展,扩展的部分称之为方言。
3、验证安装是否成功
shell>mysql
-u root -p
mysql>SHOW DATABASES; //显示目前有几个库

二、DDL:数据定义语言 Data Definition
Language
作用:定义数据库或者表结构的。
操作的对象:数据库或表的结构的。
关键字:CREATE ALTER
DROP

创建一个名称为mydb1的数据库。
mysql>CREATE DATABASE
mydb1;
查看数据库的创建细节
mysql>SHOW CREATE DATABASE
mydb1;
创建一个使用gbk字符集的mydb2数据库。
mysql>CREATE DATABASE mydb2 CHARACTER SET
gbk;
创建一个使用gbk字符集,并带校对规则的mydb3数据库。
mysql>CREATE DATABASE mydb3
CHARACTER SET gbk COLLATE gbk_chinese_ci;
查看当前数据库服务器中的所有数据库
mysql>SHOW
DATABASES;
查看前面创建的mydb2数据库的定义信息
mysql>SHOW CREATE DATABASE
mydb1;
删除前面创建的mydb3数据库
mysql>DROP DATABASE mydb3;

创建表之前一定先选择数据库
mysql>USE test;
创建一个员工表
mysql>CREATE TABLE
employee(
id int,
name varchar(200),
gender
varchar(10),
birthday date,
entry_date date,
job
varchar(200),
salary float(8,2),
resume text
);

显示当前数据库中的所有表格
mysql>SHOW
TABLES;
在上面员工表的基本上增加一个image列。
mysql>ALTER TABLE employee ADD image
blob;
查看表结构的定义
mysql>DESC
employee;
修改job列,使其长度为60。
mysql>ALTER TABLE employee MODIFY job
varchar(60);
删除image列。
mysql>ALTER TABLE employee DROP
image;
表名改为user。
mysql>RENAME TABLE employee TO
user;
查看表的创建细节
mysql>SHOW CREATE TABLE
user;
修改表的字符集为gbk
mysql>ALTER TABLE user CHARACTER SET
gbk;
列名name修改为username
mysql>ALTER TABLE user CHANGE name username
varchar(100);
三、DML:Data Manipulation Language
数据操作语言
作用:操作表中的数据的。
关键:INSERT UPDATE
DELETE

特别注意:日期或字符串、字符要使用单引号引起来。

查看表中的所有记录
mysql>SELECT * FROM
user;
使用insert语句向表中插入三个员工的信息。
建议:mysql>INSERT INTO user
(id,username,gender,birthday,entry_date,job,salary,resume) VALUES
(1,‘zql‘,‘0‘,‘1991-09-07‘,‘2013-04-

12‘,‘CTO‘,10000.00,‘beauty‘);
mysql>INSERT INTO user VALUES
(2,‘gfy‘,‘1‘,‘1987-09-07‘,‘2013-04-12‘,‘CEO‘,10000.00,‘hand‘);
mysql>INSERT
INTO user (id,username,gender,birthday,entry_date,job,salary,resume) VALUES
(3,‘王翔云‘,‘1‘,‘1989-09-07‘,‘2013-04-12‘,‘UFO‘,10000.00,‘good
boy‘);

插入中文时的问题:(编码问题)
查看数据库目前的各种编码:
mysql>SHOW VARIABLES LIKE
‘character%‘;
通知服务器客户端使用的编码字符集
mysql>SET
character_set_client=gbk;
显示时乱码
mysql>SET
character_set_results=gbk;

将所有员工薪水修改为5000元。
mysql>UPDATE user SET
salary=5000;
将姓名为’王翔云’的员工薪水修改为3000元。
mysql>UPDATE user SET salary=3000
WHERE username=‘王翔云‘;
将姓名为’王翔云’的员工薪水修改为4000元,job改为CMO。
mysql>UPDATE
user SET salary=4000,job=‘CMO‘ WHERE
username=‘王翔云‘;
将zql的薪水在原有基础上增加1000元。
mysql>UPDATE user SET
salary=salary+1000 WHERE username=‘zql‘;

删除表中名称为’王翔云’的记录。
mysql>DELETE FROM user WHERE
username=‘王翔云‘;
删除表中所有记录。
mysql>DELETE FROM
user;(一条一条的删除)
使用TRUNCATE删除表中记录。
mysql>TRUNCATE
user;(摧毁整张表,然后重建表结构)

四、DQL简单的:Data Query Language
关键字:SELECT

查询表中所有学生的信息。
mysql>SELECT * FROM student;(不建议使用)
mysql>SELECT
id,name,chinese,english,math FROM
student;
查询表中所有学生的姓名和对应的英语成绩。
mysql>SELECT name,english FROM
student;
过滤表中重复数据。
mysql>SELECT DISTINCT english FROM student;

SELECT语句支持一些基本的运算

在所有学生数学分数上加10分特长分。
mysql>SELECT id,name,math+10 FROM
student;
统计每个学生的总分。
mysql>SELECT name,chinese+english+math FROM
student;
使用别名表示学生分数。
mysql>SELECT name AS 姓名,chinese+english+math 总分
FROM student;
查询姓名为王五的学生成绩
msyql>SELECT name,english,chinese,math FROM
student WHERE name=‘王五‘;
查询英语成绩大于90分的同学
msyql>SELECT
name,english,chinese,math FROM student WHERE
english>90;
查询总分大于200分的所有同学
mysql>SELECT name,chinese+english+math
FROM student WHERE (chinese+english+math)>200;

WHERE语句支持运算表达式

Like语句中,% 代表零个或多个任意字符,_ 代表一个任意字符,例first_name like ‘_a%’;

查询英语分数在 80-90之间的同学。
mysql>SELECT * FROM student WHERE english BETWEEN
84 AND 85;
查询数学分数为89,90,91的同学。
mysql>SELECT * FROM student WHERE math
IN (89,90,91);
查询所有姓李的学生成绩。
mysql>SELECT * FROM student WHERE name LIKE
‘李%‘;
查询数学分>80,语文分>80的同学。
mysql>SELECT * FROM student WHERE
math>80 AND chinese>80;
对数学成绩排序后输出。
mysql>SELECT * FROM student
ORDER BY math;//默认是升序
对总分排序后输出,然后再按从高到低的顺序输出
mysql>SELECT
name,chinese+english+math FROM student ORDER BY (chinese+english+math)
DESC;
对姓李的学生数学成绩排序输出
mysql>SELECT name,math FROM student WHERE name
LIKE ‘李%‘ ORDER BY math;

五、数据完整性
三个方面:
1、实体完整性:规定表中的一行在表中是唯一的实体。
一般是通过定义主键的形式来实现的。
关键字:PRIMARY
KEY
特点:不能为null,必须唯一

CREATE TABLE SHANG_HAI1(
id int PRIMARY
KEY,
name varchar(100)
);
//实际开发中不建议使用。
CREATE TABLE
shanghai2(
id int PRIMARY KEY auto_increment,
name
varchar(100)
);
insert into shanghai2 (name)
values(‘aa‘);
2、域完整性
指数据库表的列(即字段)必须符合某种特定的数据类型或约束。
NOT
NULL:不能为空
UNIQUE:必须唯一
CREATE TABLE shanghai3(
id int PRIMARY
KEY,
name varchar(100) NOT NULL,
idnum varchar(100)
unique
);

关于主键:
(建议)逻辑主键:给编程人员用的。与具体业务无关
业务主键:用户也可以用。与具体业务有关了。

3、参照完整性(多表设计)
一对多
create
table department(
id int primary key,
name
varchar(100)
);
create table employee(
id int primary
key,
name varchar(100),
salary float(8,2),
dept_id
int,
constraint dept_id_fk foreign key(dept_id) references
department(id)
);

多对多
create table teacher(
id int primary
key,
name varchar(100),
salary float(8,2)
);
create table
student1(
id int primary key,
name varchar(100),
grade
varchar(10)
);
create table teacher_student1(
t_id
int,
s_id int,
primary key(t_id,s_id),
constraint t_id_fk
foreign key(t_id) references teacher(id),
constraint s_id_fk foreign
key(s_id) references student1(id)
);

一对一
create table
human(
id int primary key,
name varchar(100)
);
create
table idcard(
id int primary key,
num varchar(100),
constraint
huanm_id_fk foreign key(id) references human(id)
);

时间: 2024-10-07 16:56:18

数据库 基本命令的相关文章

02.mysql数据库 基本命令

整理人:木头 第一次整理时间:2019.03.31 最后一次整理时间:2019.05.27(不断增改) ----------------------------------------------- 数据库中有很多数据表 数据表三部分组成: 1)表结构 //列信息 列叫字段 2)表数据 //行信息 行叫记录 3)表索引 //把列中的行加到数据中 (一般情况下一个表一定要把id这一列的所有数据都加到主键索引中)   目录c/appserv/mysql/data/testa 里面 mess.frm

MySQL数据库-----基本命令操作

小编之前一直想要了解一下,如何搭建数据库,这里分享一下在此之前的一些准备工作,首先小编是先了解数据库(mysql),以下是小编的一些认识: 一.mysql常用命令1.mysql登录和退出 登录:mysql[-h 主机/ip] -u 用户名 -p 回车 enter password :具体的密码 eg: 退出:exit eg: 其他推出:quit \q2.mysql常用命令 select now():查看当前时间 select curdate():查看当前日期 select curtime():查

MySQL数据库基本命令

mysql -uroot -p密码          //登陆 creat database people;          //创建 drop 数据库名称                  //删除 show databases                  //查看所有数据库 use 数据库名称                   //使用某个数据库   show tables                     //展示当前数据库下的所有表 desc 表名称          

Mysql数据库基本命令大全

1.当需要通过yum安装mysql数据库 首先需要进行yum源的更新 [[email protected] ~]# rpm  -Uvh  http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm [[email protected] ~]# yum install mysql-community-server mysql-community-devel 2.源码包安装 参考   http://douer.blog.51

你想要的mysql数据库基本命令都在这里啦 (最新版)

一.创建数据库: create database database_name: php中创建数据库的两种方法:(mysql_create_db(),mysql_query()) $conn = mysql_connect("localhost","username","password") or die ( "could not connect to localhost"); 1. mysql_create_db("

MySQL数据库基本命令-1

第一章:数据库概述1.数据(data) 数据库(DB) 数据库管理系统(DBMS) 数据库系统(DBS)2.数据库管理系统提供的功能: (1)数据定义语言:DDL (2)数据操作语言:DML 基本的数据操作有两类:检索(查询)和更新(插入,删除,更新) 查-插-删-更 (3)数据控制语言(DCL):数据完整性控制,数据安全性控制和数据库的恢复第二章:MySql安装与配置 第三章.MySQL数据库基本操作 系统数据库和用户数据库 系统数据库:information_schema,performan

mysql 数据库基本命令语句

mysql mariadb 客户端连接 mysql -uroot -p; 客户端退出exit 或 \q 显示所有数据库show databases;show schemas; 创建数据库create database db1charset utf8; 删除数据库drop database db1;drop database if exists db1; 查看表show tables;desc tb1;-------查看tb1的表结构show create table tb1\G; -- 查看建表

mysql 数据库基本命令

停止mysql服务:net stop mysql //管理员方式运行 启动mysql服务:net start mysql 进入数据库:mysql -u root -p 查看数据库:show databases; 使用数据库:use 数据库名; 查看数据库中的表:show tables; 查询 表:select * from 表名; 查询表的详细字段:desc 表名; 创建数据库(database) create database 数据库名; 创建表(table) create table 表名(

Python学习笔记020——数据库基本操作

本数据库的操作是Linux虚拟机平台下进行的 1 启动和链接MySQL服务 1.1 服务端 (1)查看服务状态 sudo /etc/init.d/mysql stauts (2)启动服务端 sudo /etc/init.d/mysql start (3)停止服务端 sudo /etc/init.d/mysql stop (4)重启服务 sudo /etc/init.d/mysql restart/reload 1.2 客户端连接服务端 命令格式 mysql -h主机名 -u用户 -p密码 如果是