基础夯实day13:SQL

一、简介

1、SQL:structured Query Language的缩写

中文名称:结构话查询语言

作用:是一种定义、操作、管理关系型数据库的语句。大多数关系型数据库都支持。

工业标准由ANSI(Americal national startand instruction 美国国家标准组织 ISO国际化标准组织成员)维护。
组成:

1.1、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,不要忘记结尾分号.

创建一个使用gbk字符集,并带校对规则的mydb3数据库.

mysql> create database mydb3 character set gbk collate gbk_chinese_ci;

创建表之前先选择数据库

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;

修改列,使其长度为60

mysql>alter table employee modify  job varchar(60);

删除列:

mysql>alter table employee drop image;

修改表名:

mysql>rename table employee to user;

查看建表细节:

修改表的字符集为gbk:

修改字段名:

mysql>alter table user change name  username varchar(100);

           DML:  数据操作语言 data  manipulation language;

           作用:操作数据库中表的数据

           关键:insert  update delate 

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

插入一条数据(插入中文报错):
 mysql>INSERT INTO user (id,username,gender,birthday,entry_date,job,salary,resume)  VALUES  (1,'caochao','0','1907-01-10 ','2010-01-10','counter',7800,'好样的');

插入语句2:

mysql>INSERT INTO user VALUES(2,'ts','1','1990-01-10','2017-01-01','CEO',8600,'fine');

显示数据库各个字符集:

mysql>show variables  like 'character%';

临时设置客户端字符集为gbk:

mysql>set character character_set_client=gbk;

设置完客户端字符集可以插入中文,但是显示时乱码如下图

需要修改结果显示字符集:

mysql>set character character_set_result=gbk;

修改表中数据:

mysql>update user set salary=11000;

带条件修改:

mysql>update user set salary=10000 where username ='方丈';

删除表中某条数据:

mysql>delect from user where username ='方丈';(一条一条删除)

mysql>truncate user;(销毁整张表,然后重建表结构);

           DQL:  数据查询语言

           DCL:  数据控制语言

           TPL:   事务处理语言

           CCL:   指针控制语言

2、SQL是有工业标准的.ANSI

符合工业标准的SQL,称之为普通话。

不同的数据库都在SQL工业标准的基础上进行扩展,扩展的部分称之为方言

不同的数据库:Oracle、DB2、SQL Server、ProstgreSQL、MySQL、Access、SQLite

3、cmd命令行登入MySql数据库如下

打开命令行:输入MySql  -u root -p 

输入密码之后就是这样

 

当然也有可能自己会忘记MySql的密码:自己电脑上有链接MySql的数据库的客户端,例如:navicate,如下图

至于如何安装 自己网上找找。

可以客户端直接修改用户密码操作步骤如下:

修改密码之后点击保存按钮。

进入mysql之后查看数据库命令:show databases;注意不要少分号

安装数据库服务器就是安装一个数据库管理程序,这个管理程序可以管理多个数据库,一般一个应用一个数据库。

一个数据库服务器可以有多个数据库,一个数据库可以有多个表。

数据库表的完整性约束:

实体完整性:每一条数据在表中都是唯一的实体,实体完整性通过表达主键来实现。

域完整性:又叫列完整性,字段必须满足字段约束条件。

多表完整性:保证一个表的外键和另一个表的主键对应。

一对多,

一个部门多个员工        一对多 

多个员工属于一个部门 多对一

一个意思,不同角度出发。

mysql> create table department (
    -> id int primary key ,
    -> name varchar(200));

注意是圆弧括号,不是花括号。

mysql> 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)
    -> );

注意拼写,不要写错,写漏单词。

多对多

mysql> create table teacher(
    -> id int primary key ,
    -> name varchar(200),
    -> salary float(8,2)
    -> );

mysql> create table student(
    -> id int primary key,
    -> name varchar(100),
    -> grade varchar(10));

mysql> create table teacher_student (
    -> 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 student(id)
    -> );

一对一:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值