MySql基础-1

*sql of databse

1.create databse

create database mydb1;

  create database mydb2 character set utf8;

  create database mydb3 character set utf8 collate

   create database 数据库名;

   create database 数据库名 character set 编码;

  create database 数据库名 character set 编码 COLLATE 校验集;

2.show databses;

  show databases;

  select database(); 查看当前数据库

3.显示数据库的创建语句

  show create database 数据库名

4.delete database

  drop database 数据库名;

5.update database

  alter database 数据库名 character set 字符编码集 collate 校验集;  

  use 数据库名;  切换数据库

*sql for the table

1.create

  create table 表名(

    字段1 字段类型,

    字段2 字段类型,

    ....

    字段n 字段类型

  );

ex:

create table employee(

id int primary key auto_increment,

name varchar(20) not null,

gender varchar(10) unique,

birthday date,

entry_date date,

job varchar(100),

salary double,

resume longtext

);

2.show the table

desc tablename;

3.删除表

drop table 表名;

4.修改表

alter table 表名

1.add 添加一个新的列.

alter table users add password varchar(20);

2.modify 修改列

alter table users modify password int;

3.drop 删除列

alter table users drop password;

4.change 修改列名

alter table users change password pwd varchar(10);

5.insert

insert into 表名(字段1,字段2,...) values(值1,值2,....);

5.update data

update 表名 set 字段=值,字段1=值.

按条件进行修改

update 表名 set 字段=值,字段1=值,..... where 条件;

6.delete data

delete from 表名;---所有数据全都删除

delete from 表名 where 条件.

*datatype for the mysql

***mysql中的表的字段类型有n多种

java中的数据类型 mysql数据类型

byte SMALLINT

short MEDIUMINT

int int

long bigint

float float

double double

boolean bit

String char varchar

java.sql.Date Date DateTime

java.sql.Time Time

java.sql.TimeStamp TimeStamp

***在数据库中字符与字符串是同样的概念。 varchar char

char与varchar区别?

char定长的.

varchar是不定长的.

***关于数据库中的日期类型与java中的日期类型处理问题:

在java---》 java.util.Date类型。

而在数据库中有一个Date类型 。它与java中的 java.sql.Date对应.

***在java中对于数据库对应的还有其它几种类型.

java.sql.Date--------Date DateTime

java.sql.Time--------Time

java.sql.TimeStamp---TimeStamp

***大数据类型

blob----大二进制类型. -------InputStream对应.

text----大文本类型 -------Reader对应

tinyblob tinytext 255字节

blob text 64KB

mediumblob mediumtext 16MB

longblob longtext 4GB

***关于mysql中的小数类型

float

double

NUMERIC(5,2)

3.关于表的约束

约束的是什么?它的作用?

对字段进行约束就是强制对字段的特性进行控制。

添加约束可以提高我们的数据的完整性与安全性。

1.主键约束

我们可以让某一个字段是主键,如果这个字段是主键后,它具有两个特性.

1.唯一性

2.非空

怎样添加主键?

在字段上添加上 primary key就可以。

在开发中一般对于主键来说,它不具有任何意义,只是用来做标识。

对于主键,它是唯一不可重复,在mysql中可以通过 auto_increment来让int类型的字段进行自动增长.

sqlservet--------identity(1,1)

oracle------------使用它sequence

2.非空约束

not null

3.唯一约束

unique

4.外键约束(多表)

***插入数据时的注意事项:

1.数据需要使用引号引起来.数例类型可以不用.

2.如果插入空值,使用null.

3.插入的数据必须与字段的类型匹配.

4.指定的列数与数值要对应.

5.插入的数据长度不能超出列的指定长度.

***关于插入时的中文问题:

insert into users values(null,‘张三‘,‘1999-10-10‘);

ERROR 1366 (HY000): Incorrect string value: ‘\xD5\xC5\xC8\xFD‘ for column ‘username‘ at row 1

在插入中文时报错.

原因:我们当前使用的cmd窗口它是一个客户端,在这个客户端中所使用的是编码是当前系统默认的编码。

mysql数据库服务器在安装时,我们指定了编码 utf8,那么它的客户端与服务器端都是utf8编码。

解决方案:

在mysql的安装文件下查找一个人my.ini文件.

修改my.ini文件事重新启动服务.

临时修改

在mysql中一共有6个地方使用了字符集.

client connetion result 和客户端相关 、database server system 和服务器端相关

查看系统所有字符集 : show variables like ‘character%‘;

可以通过 -->set names gbk ;

***sql的关于删除数据:

drop table 表名-------它用于删除表结构.

delete from 表名 ------它用于删除表中的数据,表还存在.

truncate 表名.---------它与delete一样,都是用于删除表中数据。

delete与truncate的区别?

1.

delete删除时,是一条一条删除。它效率比较低.

truncate删除是先将表结构删除,在重新创建表结构.

2.

delete 是dml语句.

truncate不是dml语句.

对于dml语句它是可以受事务控制。在事务中,我们通过delete删除后数据可以恢复.

truncate它是不受事务控制。也就是说,删除后就不能在恢复。

时间: 2024-12-14 11:56:45

MySql基础-1的相关文章

MySQL基础实战

一.数据库基础: DBMS:数据库管理系统(Database Management System) RDBMS:关系数据库管理系统(Relational Database Management System) C/S:通过专有协议 关系模型:表(行,列),二维关系 范式:第一范式,第二范式,第三范式: 关系运算: 选择 投影 数据库:表,索引,视图(虚表) SQL:结构化查询语言 DDL:数据定义语言 DML:数据操作语言 编程接口: 自行定义存储过程 自行定义存储函数 触发器: 时间调度器:类

【夯实Mysql基础】记一次mysql语句的优化过程!

1. [事件起因] 今天在做项目的时候,发现提供给客户端的接口时间很慢,达到了2秒多,我第一时间,抓了接口,看了运行的sql,发现就是 2个sql慢,分别占了1秒多. 一个sql是 链接了5个表同时使用了 2个 order by和 1个limit的分页 sql. 一个sql是上一个sql的count(*),即链接了5个表,当然没有limit了(取总数). 2. [着手优化] 1)[优化思路] 第一条是 做client调用 service层的数据缓存 第二条就是 优化sql本身. 这里着重讲一下

MySQL 基础(二)

MySQL 基础(二) ============================================================================== 概述: ============================================================================== MySQL   1.数据结构: ★分类: 结构化数据:  关系型数据库 半结构化数据:YAML.XML.JSON 非结构化数据:日志文件,NoSQL  

MYSQL养成记-MYSQL基础增强(Myql函数)

MYSQL基础增强(Myql函数) 在这里只介绍一些常用的,比较新颖的: 字符串函数: CONCAT://字符串连接函数mysql> SELECT CONCAT('My', 'S', 'QL'); -> 'MySQL' mysql> SELECT CONCAT('My', NULL, 'QL');//与null连接会变null -> NULL mysql> SELECT CONCAT(14.3); -> '14.3' CONCAT_WS://含分隔符的字符串连接mysq

mysql基础知识之增删查改使用介绍

 mysql基础知识之增删查改使用介绍 本文主要介绍mysql常用的SELECT.INSERT.UPDATE.DELETE语句的使用,数据库的安装这里不做介绍,并且事先已经准备好相关数据. 本文中使用的student表中的数据如下: mysql> SELECT * FROM student; 一.SELECT语句的使用 1.单表查询 语法格式: SELECT culom1,culom2,culom3 FROM TABLE_NAME; 可以改变字段显示顺序 2.WHERE子句查询 语法格式: SE

mysql基础和数据库的优化

Mysql基础... 4 Mysql介绍... 4 登录mysql mysql –u root –p[掌握]... 4 SQL语言... 4 DCL. 4 grant. 4 revoke. 4 DDL. 4 建库... 4 删库... 4 建表... 4 看表结构... 5 删表... 5 修改表... 5 DML[重点]... 5 增加... 5 删除... 5 修改... 5 查看... 5 排序... 5 总数... 5 求和... 5 平均... 6 最大... 6 最小... 6 表连

MYSQL基础笔记(三)-表操作基础

数据表的操作 表与字段是密不可分的. 新增数据表 1 Create table [if not exists] 表名( 2 字段名 数据类型, 3 字段名 数据类型, 4 字段n 数据类型 --最后一行不需要加逗号 5 )[表选项]; If not exists:如果表名不存在,那么就创建,否则不执行创建代码,实现检查功能. 表选项:控制表的表现 1.字符集:charset/character 具体字符集:--保证表中数据存储的字符集. 2.校对集:collate 具体校对集: 3.存储引擎:e

mysql基础itcast笔记

1. 课程回顾 mysql基础 1)mysql存储结构: 数据库 -> 表 -> 数据   sql语句 2)管理数据库: 增加: create database 数据库 default character utf8; 删除: drop database 数据库; 修改: alter database 数据库 default character gbk; 查询: show databases / show create database 数据库; 3) 管理表: 选择数据库:use 数据库; 增

MySQL基础知识

MySQL基础知识: 一. 知识点:        1. SQL分类:按照其功能不同,分为3中类别           DDL(Data Defintion Language):数据定义语句,用于定义不同的数据段.数据库.表.列.索引等.常用的语句关键字包括create.drop.alter等;             DML(Data Manipulation Language):数据操纵语句,用于添加.删除.更新和查询数据库记录,并检查数据的完整性.常用的语句关键字主要包括insert.de

MySQL基础学习之数据查询

一般查询 SELECT * FROM 表名 SELECT 属性名  FROM  表名 条件查询 SELECT 属性名 FROM 表名  WHERE 条件表达式 查询数据值1,数据值2的表单 SELECT *  FROM  表名  WHERE  属性名 [NOT] IN(数据值1,数据值2....) 查询数值1,数据2的表单 SELECT *  FROM  表名  WHERE  属性=值  AND 属性1=值1 查询数值1到数值2之间的表单 SELECT *  FROM  表名  WHERE  属