Mysql基础(一)

一、Mysql常用操作

--【1】登录与退出
--登录
cmd
注意:path查看并没有配置MySQL的环境变量,我的MySQL数据库是安装在下面的路径下的,故进入MySQL的bin
目录下:
C:\Program Files (x86)\MySQL\MySQL Server 5.5\bin
在Mysql的bin目录下执行命令:
mysql -hlocalhost -uroot -proot  -h后表示的是服务器,-u表示用户,-p后表示密码。  
--退出
exit
quit
\q
一般使用第三方插件Navicat,初始的用户名及密码均为root。
--【2】显示当前服务器版本
SELECT VERSION();
--【3】显示当前日期
SELECT NOW();
--【4】显示当前用户
SELECT USER();
--【5】创建数据库
CREATE DATABASE MySchool CHARACTER SET GBK;
--【6】查询当前服务器的数据库列数
SHOW DATABASES;
--【7】查看创建数据库所使用的编码方式
SHOW CREATE DATABASE MySchool
--创建数据库并设置数据库的编码方式
CREATE DATABASE IF NOT EXISTS MySchool;
CHARACTER SET gbk;
--【8】修改数据库的编码方式
ALTER DATABASE MySchool CHARACTER SET UTF8;
--【9】删除数据库
DROP DATABASE MySchool;
--【10】打开数据库
USE MySchool;
--【11】创建表
#'创建flower表'
CREATE TABLE flower (
    id int(10) PRIMARY key auto_increment ,#'主键列'
    name VARCHAR(20) not null,#'花蕊名称'
    price float not null,#'花蕊价格'
    production VARCHAR(20)#'原产地'

)
--> PRIMARY key-->主键        auto_increment-->自增
-->cid int(10) REFERENCES classroom(id)--->学生表中,其班级编号为班级表的外键。
--【12】插入数据
INSERT INTO USERINFO (ID,USERNAME,PWD) VALUES(1001,'张三',"1234");
insert into flower VALUES(DEFAULT,'牡丹',12.22,'中国');
--【13】查询
SELECT * FROM USERINFO WHERE USERNAME='张三' AND PWD='1234';
--分页查询
select * from userinfo limit 0,2;
--limit用法如下
--第一个参数是指要开始的位置的下标(即要减去的数据),第二个参数是指每页显示多少条数据
--第一页用0表示
--Mysql分页:
select * from tableName where 条件 limit (当前页码-1*页面容量 , 页面容量
--【14】修改表的名字
rename table1 to table2;
--【15】常用的命令
show tables;   显示所有表;
MySQL数据库在每个用户的结构:数据库-->表
--【16】新增用户
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码” 
如,增加一个用户user1密码为password1,让其可以在本机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:
grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";
如果希望该用户能够在任何机器上登陆mysql,则将localhost改为”%”。 
如果你不想user1有密码,可以再打一个命令将密码去掉。
grant select,insert,update,delete on mydb.* to user1@localhost identified by "";
--【17】修改密码
1.1.1Update user set password=password(‘root) where user=’root’   [=password] 是 mysql自带的一个函数,用来修改密码。-当密码不对,或已经忘记密码时,直接按回车键进去执行这条命令。(输入mysql后)
1.1.2flush privileges;修改完密码需要刷新。 
1.1.3要重启mysql服务 service mysqld restart
1.1.4mysql  -hlocalhost  -uroot  –proot  --->登录mysql
--【18】Linux系统中登录MySQL数据库必须启动数据库
Service mysqld start :开启
Service mysqld  stop :关闭
如何查看mysql的服务是否开启:ps -ef |grep mysql 查看mysql的服务
--【19】delete,drop,truncate的区别
Delete :删除数据表中的行(可以删除某一行,也可以在不删除数据表的情况下删除所有行)。
删除某一行:Delete from 数据表名称 where 列名称=值;
删除所有行:Delete * from 数据表名称
Drop :删除数据表或数据库,或删除数据表字段。
删除数据库: drop database 数据库名称
删除数据表:(表的结构、属性、索引也会被删除)
             use 数据库名称
             drop table 数据表1名称,数据表2名称
删除数据表字段(列):
             use 数据库名称
             alter table 数据表名称
             drop column 字段名(列名称)
Truncate:删除数据表中的数据(仅数据表中的数据,不删除表)。
           truncate table 数据表名称
    “ TRUNCATE TABLE语句是一种快速、无日志记录的方法。TRUNCATE TABLE语句与不含有WHERE 子句的 DELETE 语句在功能上相同。但是,TRUNCATE TABLE语句速度更快,并且使用更少的系统资源和事务日志资源。”
删除数据的速度,一般来说: drop> truncate > deleteDELETE 语句相比,TRUNCATE TABLE语句具有以下优点:
所用的事务日志空间较少。
DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放用于存储表数据的数据页来删除数据,并且在事务日志中只记录页释放。
使用的锁通常较少。
当使用行锁执行 DELETE 语句时,将锁定表中各行以便删除。TRUNCATE TABLE 始终锁定表和页,而不是锁定各行。如无例外,在表中不会留有任何页。
执行 DELETE 语句后,表仍会包含空页。例如,必须至少使用一个排他 (LCK_M_X) 表锁,才能释放堆中的空表。如果执行删除操作时没有使用表锁,表(堆)中将包含许多空页。对于索引,删除操作会留下一些空页,尽管这些页会通过后台清除进程迅速释放。
与 DELETE 语句相同,使用 TRUNCATE TABLE语句清空的表的定义与其索引和其他关联对象一起保留在数据库中。
--【20】SQL语句
DDL:create,alter,drop操作的是表结构。
create创建表,序列
CREATE TABLE flower (
    id int(10) PRIMARY key auto_increment ,#'主键列'  --auto_increment自增
    name VARCHAR(20) not null,#'花蕊名称'              -- PRIMARY key主键    
    price float not null,#'花蕊价格'
    production VARCHAR(20)#'原产地'
)
create sequence sq_stuno;--Oracle中用序列
--alter添加主键,添加新的列
--添加新的一列
alter table t_admin1 add  password varchar2(20);
--修改表中某列的数据类型
alter table t_admin1 modify sex varchar2(2);
--添加外键
alter table t_position add constraint FK_T_POSITI_REFERENCE_T_COMPAN foreign key (cid)references 
t_company (cid);
--添加主键:
alter table t_admin1 add constraint pk_id primary key (userid) ;
DQL:select    
DML:insert ,delete,update操作的是表中具体的行数据。
--【21】优化

二、常用语法

2.1创建主键的三种方式

CREATE TABLE user(
   uid INT PRIMARY KEY,
   uname VARCHAR(10),
   address VARCHAR(20)
)
CREATE TABLE user(
   uid INT,
   uname VARCHAR(10),
   address VARCHAR(20),
   PRIMARY KEY(uid)
)
CREATE TABLE user(
 uid INT,
 uname VARCHAR(10),
 address VARCHAR(20)
)
ALTER TABLE user ADD PRIMARY KEY(uid);

2、联合主键

CREATE TABLE user(
    uid INT,
    uname VARCHAR(10),
    address VARCHAR(20),
    PRIMARY KEY(uid,uname)
)

3、删除主键

ALTER TABLE USER DROP PRIMARY KEY;

 三、MySql常用函数全部汇总

参看链接:https://www.cnblogs.com/panchanggui/p/10652322.html

posted @ 2020-03-18 16:44  慎终若始  阅读(32)  评论(0编辑  收藏  举报