❤SQL数据库
1、sql 数据库技术简介:
SQL (Structured Query Language) 是具有数据操纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点,能为用户提供极大的便利,数据库管理系统应充分利用SQL语言提高计算机应用系统的工作质量与效率。SQL语言不仅能独立应用于终端,还可以作为子语言为其他程序设计提供有效助力,该程序应用中,SQL可与其他程序语言一起优化程序功能,进而为用户提供更多更全面的信息。 [1] SQL Server数据库包括Microsoft SQL Server以及Sybase SQL Server两个子数据库,该数据库能否正常运行直接关系着整个计算机系统的运行安全。*
2、sql数据库的运用
DML(数据操作语言 )- 增删修改查询
- SELECT - 从数据库表中获取数据
- UPDATE - 更新数据库表中的数据
- DELETE - 从数据库表中删除数据
- INSERT INTO - 向数据库表中插入数据
select insert update delect
DCL(数据控制语言 ) - 用来控制存取许可,权限
- GRANT REVOKE
DDL(数据定义语言 ) - 用来建立数据库,数据库对象和定义列表 -
- CREATE DATABASE - 创建新数据库
- ALTER DATABASE - 修改数据库
- CREATE TABLE - 创建新表
- ALTER TABLE - 变更(改变)数据库表
- DROP TABLE - 删除表
- CREATE INDEX - 创建索引(搜索键)
- DROP INDEX - 删除索引
TCL(事物控制语言 )
- 变量说明、流程控制、功能函数
——定义变量、判断、分支、循环结构等
——日期函数、数学函数、字符函数、系统函数等
收缩文件也可使用如下命令: - DBCC ShrinkFile('数据库名', targetsize);
/* 收缩数据库文件 */
- DBCC ShrinkFile('数据库名_log', targetsize);
- /* 收缩日志文件 */
收缩数据库
DBCC SHRINKDATABASE(数据库名,百分比)
3、创建数据库,假设创建的数据库名称是ss
create database ss
use ss
(1)指定数据库文件参数和日志文件参数创建
CREATE DATABASE s
ON PRIMARY --默认就属于PRIMARY主文件组,可省略
(
NAME='s_data', --主数据文件的逻辑名
FILENAME='D:\project\s_data.mdf', --主数据文件的物理名
SIZE=5mb, --主数据文件初始大小
MAXSIZE=100mb, --主数据文件增长的最大值
FILEGROWTH=15% --主数据文件的增长率
),
(~~可以加另外一个数据库,也可以省略~~ )
LOG ON
(
NAME='s_log',
FILENAME='D:\project\s_log.ldf',
SIZE=2mb,
FILEGROWTH=1MB
)
GO
创建表
create table ss
(
nname nchar(10),
age tinyint,
sex int
)
插入数据
insert into demo
values
('飒飒',221,22)
删除
delete from ss
where nname='li'
####### 删除数据库
drop database new
先查询是否有该数据库,再做删除操作,代码如下:
if exists(select * from s.databases where name='new')
drop database new
查询
- 查询表中所有数据,*代表所有列:
select * from demo
- 查询表中某一行所有数据:
select * from demo where nname='li'
- 查询表中某一行某一列的数据
select age from demo where nname='li'
- 查询出来的结果列用as取别名:
select age as '年龄' from demo where nname='li'
(2)SQL SELECT DISTINCT 语句
查询其中所有语句
SELECT 列名称 FROM 表名称
查询其中不同(distinct),并且仅仅列出一次
SELECT DISTINCT 列名称 FROM 表名称
(3)WHERE 子句
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
between 在某个范围内
like 搜索某种方法
SELECT * FROM 表名 WHERE City='Beijing'
SELECT * FROM 表名 WHERE Year>'1965'
AND 运算符
使用 AND 来显示姓为 “s” 并且名为 “T” 的人:
SELECT * FROM Persons WHERE FirstName='T' AND LastName='s'
使用 OR 来显示所有姓为 “C” 或者名为 “T” 的人:
SELECT * FROM Persons WHERE firstname='T' OR lastname='C'
AND 和 OR 结合
SELECT * FROM Persons WHERE (FirstName='T' OR FirstName='W')
AND LastName='Carter'
(4)ORDER BY 语句
- ORDER BY 语句用于根据指定的列对结果集进行排序。
- ORDER BY 语句默认按照升序对记录进行排序。
- 如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
以字母顺序显示公司名称:
SELECT Company, OrderNumber FROM Orders ORDER BY Company
以字母顺序显示公司名称(Company),并以数字顺序显示顺序号(OrderNumber):
SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber
以逆字母顺序显示公司名称:
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC
INSERT INTO 语句
指定所要插入数据的列:
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')
(5)Update 语句
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
update ss(表明称 )set (列名 )aa='zthappy 23 ',City=‘xiamen’ where name=‘tian’
修改 aa并且添加 city
数据库常见问题
errno: 1251, sqlMessage: ‘Client does not support authentication protocol requested by server; consider upgrading MySQL client’,
解决方法
重新更新数据库并重新设置数据库密码,更新数据库配置
// 设置数据库密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
123456 是 安装mysql时设置的密码
//更新数据库配置
FLUSH PRIVILEGES;
再次连接数据库
ok
毫无问题