MySQL数据库的使用(一)
来源:互联网 发布:淘宝虚拟市场怎么加入 编辑:程序博客网 时间:2024/06/05 23:22
MySQL数据库的基本操作语言show databases;--查看当前所有的数据库use databaseName; --使用当前的数据库show tables;--查看当前库中所有的表use databaseName;--选择使用数据库exit;--进入mysql之后,退出当前数据库 数据库 --数据表的集合 数据表 --表是数据的集合
在DOS窗口下执行:连接mysql的命令mysql -h 主机地址 -u用户名 -p用户密码 远程连接失败:一般来说是网络没有开启: 开启网络:net start mysql 远程连接数据库: ping ip看能不能ping通。 192.168.203.47 172.29.8.1 ip:本机的IP地址 localhost 127.0.0.1 192.168.203.47 远程连接: TCP/IP 协议 SSH 连接 HTTP 协议连接A连接数据库 登录本机: 1、mysql -u userName -p passWord 2、mysql -h localhost -uuserName -ppassWord 3、...>mysql -u root -p Enter password:root(用户密码) 登录远程:mysql -h host -uuserName -ppassWord B使用mysql的根用户 use mysql; C创建一个新用户 create user cy; D给新用户创建密码 update user set password=password('htj') where user='cy'; C、D创建新用户并创建密码 create user userName identified by password; E给用户授权 grant all privileges on *.* to cy@'%' identified by 'htj' with grant option; grant all privileges *.* to java@'%' identified by 'java' with option;//授所有的权限 F修改密码 1、使用set password就可以修改 语法:进入用户中就可以修改 set password for user@localhost = password('newPass'); 2、使用mysqladmin来修改密码 语法:在dos中输入mysqladmin这个命令 mysqladmin -uroot -poldPassword password newPassword 3、修改mysql的密码 语法: use mysql; update user set password = password('newPass') where user = 'root' and host = 'localhost';G权限 grant all privileges; --全部的权限(select update delete insert的权限) grant select,update on mysql.* to zyf@'%' identified by 'zyf' with option; flush privileges; --刷新授权
数据表:存放数据字段的类型:int(10) 、integer(10) 整型 char(20)、varchar(20) 字符型 date(年月日)、time(时分秒)、datetime(年月日时分秒) 时间 float、double 浮点型 text 长文本 blob 可以存放二进制文件建表: create table tableName (columnName columnType(length));例:create table user (id int(10),name varchar(20)); 添加一个字段: alter tableName add column 'columnName' varchar(20) null after 'id'; 删除表的字段 alter table tableName drop column 'columnName'; 修改表结构: ALTER TABLE `user` CHANGE COLUMN `sal` `saller` double(5,2) NULL DEFAULT NULL AFTER `name`; 查看表结构:desc tableName; 删除表:drop table tableName; 删除表里面的数据: delete from tableName; truncate tableName;(可以同时删除数据库水位线)
主键:识别数据的唯一标识 CREATE TABLE `NewTable` ( `id` int NOT NULL , PRIMARY KEY (`id`) );外键:一张表的外键关联另外一张表的主键 例:学校这张表关联学生 ALTER TABLE `student` ADD FOREIGN KEY (`school`) REFERENCES `school` (`id`);插入数据--insert insert into table(column1,column2 ) value ('value1',value2); commit; 提交数据修改数据--update(更新数据,需要添加条件) update student set name = 'newName' where id = ?;删除数据--delete delete from student where id = 2;
查询语句 语法: SELECT column_name,column_name FROM table_name [WHERE clause] [OFFSET M] [LIMIT N]最简单的查询 select id,name from student; select name from student; select * from student; select id 编号, name 名字 from student;where条件 select * from student where id = 1; select * from student where id>3 and name='峨眉山';like语句(模糊查询) where的子句 select * from student where name like '%林%';mysql的排序 select * from student order by name asc;//升序排列 select * from student order by column desc;//降序排列分组查询:group by例:新建一个员工表 emp id --员工的ID name --名字 sal --员工的薪水 dept --员工的部门,部门编号 create table emp ( id int(20), name varchar(20), sal float(10,2), dept int(20), primary key id ); 查询一下有几个部门 select count(*) 部门的数量 from emp group by dept;//以部门分组 count(*)总数 avg(sal)平均数 max(sal)最大数据 min(sal)最小数据 sum(sal)合计复杂查询 关联: emp --雇员表 id --雇员的编号 name --雇员的名字 sal --雇员的薪水 comm --雇员的奖金 dept --雇员的部门编号 dept --部门表 id --部门的编号 name --部门名称 loc --部门的地址
create table emp( id int(10), name varchar(20), sal float(8,2), comm float(8,2), dept int(10) );
create table dept( id int(10), name varchar(20), loc varchar(50) ); 添加主键,并设置主键自增长 ALTER TABLE `emp` MODIFY COLUMN `id` int(10) NOT NULL AUTO_INCREMENT FIRST , ADD PRIMARY KEY (`id`); 向dept表中添加数据 insert into dept(name, loc) value('销售部门','北京'); insert into dept(name, loc) value('研发部门','上海'); insert into dept(name, loc) value('人力资源部门','广州'); 创建一个外键关联另外一张表的主键,并设置级联删除和更新 ALTER TABLE `emp` ADD CONSTRAINT `foreign_emp_dept_id` FOREIGN KEY (`dept`) REFERENCES `dept` (`id`) ON DELETE CASCADE ON UPDATE CASCADE; 向emp表中添加数据 insert into emp(name,sal,comm,dept) value('刘德华','3000','100',1); insert into emp(name,sal,comm,dept) value('张三丰','5000','0',3); insert into emp(name,sal,comm,dept) value('和珅','1000','400',1); insert into emp(name,sal,comm,dept) value('李波','2000','700',3); insert into emp(name,sal,comm,dept) value('钱硕','1900','300',2); insert into emp(name,sal,comm,dept) value('张飞','800','50',1); insert into emp(name,sal,comm,dept) value('关羽','1100','100',2); insert into emp(name,sal,comm,dept) value('刘备','1500','0',3); insert into emp(name,sal,comm,dept) value('赵云','2000','100',1); insert into emp(name,sal,comm,dept) value('诸葛亮','4500','200',1); insert into emp(name,sal,comm,dept) value('马岱','600','700',1); 查询: 查询一下销售部门有多少个人? 1)select id from dept where name = '销售部门'; 2)select * from emp where dept = 1; select * from emp where dept = (select id from dept where name = '销售部门'); 销售部门中工资小于3000的员工,奖金增加200元。 1、第一步先查询销售部门的编号 select id from dept where name = '销售部门'; 2、通过销售部门查询员工的信息 select * from emp where dept = (select id from dept where name = '销售部门'); 3、查询销售部门小于3000元的员工 select * from emp where dept = (select id from dept where name = '销售部门') and sal < 3000; 4、只要符合上面你的条件,奖金增加200元 select *,comm+200 from emp where id in (select id from emp where dept = (select id from dept where name = '销售部门') and sal < 3000);update emp e set e.comm = (e.comm + 200) where e.id in (select id from emp where dept = (select id from dept where name = '销售部门') and sal < 3000);
0 0
- MySQL数据库的使用(一)
- MySQL数据库中SQL语句的基本使用(一)
- MySQL数据库(一)---安装、配置、使用
- MySQL数据库之使用与开发(一)------mysql入门
- MySQL数据库一(数据库安装以及数据库的创建)
- 数据库MySql的复习(一)
- MySQL数据库的入门(一)
- mysql基础---数据库的管理(一)
- MySQL(一)--数据库的基本操作
- MySQL数据库系统的学习(一)
- mysql数据库(一)
- MySQL数据库(一)
- 一、MySql数据库在Unix/Linux C的使用
- mysql数据库的使用
- mysql数据库的使用
- MySQL数据库的使用
- Mysql数据库的使用
- Mysql数据库的使用
- php 插入排序算法
- (LeetCode)Happy Number -- 寻找快乐数
- tjut 3443
- Linux机器件拷贝文件
- Android 进程保活
- MySQL数据库的使用(一)
- 如何计算程序的时间复杂度
- 数据库定时备份原理,代码
- 关于json的一些注意点
- [iOS 自定义控件] LFFExcelView 自定义excel表格的控件
- 算法每日练习之判断完数
- HDU 1875 畅通工程再续
- 网站Meta标签都有哪些属性及作用?
- svn的恢复到指定版本操作