MySql学习记录1-mysql的基本操作之增删改
2017-10-14 23:13
591 查看
SQL-Structured Query Language结构化查询语言。
MySql的安装-解压版:
1、解压。
2、设置MySql的数据库目录,修改配置文件my.ini
[mysqld]
basedir=E:\\myserver\\mysql-5.0.37-win32 (必须)
datadir=E:\\myserver\\mysql-5.0.37-win32\\data (必须)
default-character-set=gbk -(可选,建议不设置)
2、启动测试
命令行:/> mysqld –console
3、登录MySql
命令行:/> mysql -u root –p (注意-u应该与root紧挨着)
4、增加用户可以选程访问,mysql.user表:
create user root identified by ‘1234’; --创建用户
Grant all on *.* to ‘root’@’%’ with grant option; 授权
5、重新启动服务器,测试是否可以远程登录
6、安装mysql服务
命令行:/> mysqld –install
7、卸载服务
命令行:/> mysqld -remove
基本操作:
mysql –uroot –p1234 //登录
mysql>show databases; //显示所有已经存在的数据库
mysql>use test; //使用某个数据库
mysql>show tables; //显示当前数据库中的所有表
mysql>help; //显示
mysql>desc tableName; //显示表结构
导出数据库中的所有表:在命令行模式下:
shell/> mysqldump –uroot –p1234 –-databases dbName > d:\a\a.sql
导入:导入时,必须要先手工建立一个新的数据库:
mysql>use dbName;
Mysql>source d:\a\a.sql
或:
shell/>mysql –uroot –p1234 –D dbname < d:\a\a.sql (注意参数-D是大写)
MySql的数据类型:
查询Mysql的开发手册,查询data type可见所有的数据类型。
比较经常使用的数据类型为:
int、varchar、char、numeric(double,float)、text
Char与varchar的区别:
Char是定长数据,如果char(10)但里面只保存了1个字符,则它的长度仍然是10.-但Mysql对查询的结果进行了处理 ,所以使用legth无法判断它所占用的长度。
Varchar(10)时,如果里面只保存了1个字符,则它的长度为1,所以,varchar被称了可变长字符。
Char的取值范围为0-255
varchar的取值范围为0-65535.如果是UTF-8数据类型则可以保存0-21844字符。
Int和numeric:
Int类型不能保存小数位。
Numeric可以保存小数位。如numeric(4,2)则可以表示最大数据为:99.99。注意4是总位数,2是小数位数。
创建和修改表:
创建表:
Create table stud(
id int,
name varhcar(30)
);
创建时同时指定不能为空:
Create table tb(
name varchar(20) not null
)
修改表:
Alter table stud
add column sex char(1); /*添加一个新的字段 */
Alter table stud
drop column sex; /* 删除sex字段*/
数据CURD:
字符类型的数据前后要添加’’单引号。
插入数据
没有指定列时,要给出完整数据,且要对应顺序:
Insert into stud values(1,’Tom’,’1’);
优化写入,指定列:
Insert into stud(id,name) values(1,’jack’);
查询数据:
Select * from stud; -- 通过*将所有列显示出来
查询指定的列:
Select id ,name from stud
另名:as
Select id as 编号,name as 姓名 from stud; //不建议使用中文
或是省去as关键字:
Select id 编号,name 姓名 from stud;
给表也取个别名:
Select s.id,s.name from stud as s;
修改数据:
Update stud set name=‘Jack’;
同时修改两个值:
Update stud set name=‘Rose’,id=22 where id=1;
在原值上面进行累加操作:
Update product set price=price*1.1 -所有商品的价格上涨10%
删除数据:
Delete from stud /*全部删除*/
Delete from stud where id=1; /*删除指定的行 */
也可以使用
TRUNCATE TABLE stud; //它与delete的区别是不记录操作日志,即无法恢复数据。
Where子句:
Select 字段 From 表名 where 条件 and 条件 or 条件
Update table tableName set .. Where 条件
Delete from tableName where ….
条件查询:
where关键字。(Name=‘dd’ and age=33) or addr=‘BJ’
between X and Y关键字。 在什么之间
in关键字和not in. In(‘….’,’aafad’,’afasdf’);
and和or关键字。
使用like实现模糊查询。%
通过is null判断是否为null。(要区分空字符串与null的区别)
演示:
1.创建数据库:
3.修改表格:
4.插入数据
5.删除数据
//模糊查询LIKE '%'通配所有字符 '_'通配单字符
SELECT * FROM stud WHERE sname LIKE '张%'; //姓张的学生
SELECT * FROM stud WHERE sname LIKE '张_'; //姓张,名为单字的学生
SELECT * FROM stud WHERE sname LIKE '张__'; //姓张,名为双字的学生
SELECT * FROM stud WHERE sname LIKE '%张%'; //姓名中含“张”字的学生
SELECT * FROM stud WHERE sname LIKE '%张%' AND age<24;
如果显示内容时要让表头变成中文,用别名(AS可以省略)
SELECT * FROM stud;
SELECT sno,sname,age,saddress FROM stud;
SELECT sno AS 编号,sname AS 姓名,age,saddress FROM stud;
SELECT sno 编号,sname 姓名,age 年龄,saddress 地址 FROM stud; //省略AS
句型:
select 字段名 from 表名 where 条件1 and 条件2 or 条件3
update 表名 set 字段名1=值 [,字段名2=值] where 子句[in 子句] [between子句]
delete from 表名 where 子句
MySql的安装-解压版:
1、解压。
2、设置MySql的数据库目录,修改配置文件my.ini
[mysqld]
basedir=E:\\myserver\\mysql-5.0.37-win32 (必须)
datadir=E:\\myserver\\mysql-5.0.37-win32\\data (必须)
default-character-set=gbk -(可选,建议不设置)
2、启动测试
命令行:/> mysqld –console
3、登录MySql
命令行:/> mysql -u root –p (注意-u应该与root紧挨着)
4、增加用户可以选程访问,mysql.user表:
create user root identified by ‘1234’; --创建用户
Grant all on *.* to ‘root’@’%’ with grant option; 授权
5、重新启动服务器,测试是否可以远程登录
6、安装mysql服务
命令行:/> mysqld –install
7、卸载服务
命令行:/> mysqld -remove
基本操作:
mysql –uroot –p1234 //登录
mysql>show databases; //显示所有已经存在的数据库
mysql>use test; //使用某个数据库
mysql>show tables; //显示当前数据库中的所有表
mysql>help; //显示
mysql>desc tableName; //显示表结构
导出数据库中的所有表:在命令行模式下:
shell/> mysqldump –uroot –p1234 –-databases dbName > d:\a\a.sql
导入:导入时,必须要先手工建立一个新的数据库:
mysql>use dbName;
Mysql>source d:\a\a.sql
或:
shell/>mysql –uroot –p1234 –D dbname < d:\a\a.sql (注意参数-D是大写)
MySql的数据类型:
查询Mysql的开发手册,查询data type可见所有的数据类型。
比较经常使用的数据类型为:
int、varchar、char、numeric(double,float)、text
Char与varchar的区别:
Char是定长数据,如果char(10)但里面只保存了1个字符,则它的长度仍然是10.-但Mysql对查询的结果进行了处理 ,所以使用legth无法判断它所占用的长度。
Varchar(10)时,如果里面只保存了1个字符,则它的长度为1,所以,varchar被称了可变长字符。
Char的取值范围为0-255
varchar的取值范围为0-65535.如果是UTF-8数据类型则可以保存0-21844字符。
Int和numeric:
Int类型不能保存小数位。
Numeric可以保存小数位。如numeric(4,2)则可以表示最大数据为:99.99。注意4是总位数,2是小数位数。
创建和修改表:
创建表:
Create table stud(
id int,
name varhcar(30)
);
创建时同时指定不能为空:
Create table tb(
name varchar(20) not null
)
修改表:
Alter table stud
add column sex char(1); /*添加一个新的字段 */
Alter table stud
drop column sex; /* 删除sex字段*/
数据CURD:
字符类型的数据前后要添加’’单引号。
插入数据
没有指定列时,要给出完整数据,且要对应顺序:
Insert into stud values(1,’Tom’,’1’);
优化写入,指定列:
Insert into stud(id,name) values(1,’jack’);
查询数据:
Select * from stud; -- 通过*将所有列显示出来
查询指定的列:
Select id ,name from stud
另名:as
Select id as 编号,name as 姓名 from stud; //不建议使用中文
或是省去as关键字:
Select id 编号,name 姓名 from stud;
给表也取个别名:
Select s.id,s.name from stud as s;
修改数据:
Update stud set name=‘Jack’;
同时修改两个值:
Update stud set name=‘Rose’,id=22 where id=1;
在原值上面进行累加操作:
Update product set price=price*1.1 -所有商品的价格上涨10%
删除数据:
Delete from stud /*全部删除*/
Delete from stud where id=1; /*删除指定的行 */
也可以使用
TRUNCATE TABLE stud; //它与delete的区别是不记录操作日志,即无法恢复数据。
Where子句:
Select 字段 From 表名 where 条件 and 条件 or 条件
Update table tableName set .. Where 条件
Delete from tableName where ….
条件查询:
where关键字。(Name=‘dd’ and age=33) or addr=‘BJ’
between X and Y关键字。 在什么之间
in关键字和not in. In(‘….’,’aafad’,’afasdf’);
and和or关键字。
使用like实现模糊查询。%
通过is null判断是否为null。(要区分空字符串与null的区别)
演示:
1.创建数据库:
CREATE DATABASE IF NOT EXISTS abc CHARACTER SET utf8;2.创建表
CREATE TABLE student( sno VARCHAR(15) NOT NULL PRIMARY KEY, sname VARCHAR(15) NOT NULL, age INT, address VARCHAR(30) ); CREATE TABLE teacher( tno AUTO_INCREMENT NOT NULL PRIMARY KEY, tname VARCHAR(15) NOT NULL, tsale NUMERIC(DOUBLE) ); CREATE TABLE stud( sno VARCHAR(15) NOT NULL PRIMARY KEY, sname VARCHAR(15) NOT NULL, age INT, address VARCHAR(30) );
3.修改表格:
ALTER TABLE stud DROP COLUMN sno; ALTER TABLE stud ADD COLUMN sno INT PRIMARY KEY AUTO_INCREMENT;
4.插入数据
INSERT INTO stud VALUES('dragon1',21,'湖南邵阳1',1); INSERT INTO stud(sname,age,address) VALUES('dragon2',21,'湖南邵阳2');
5.删除数据
DELETE FROM stud WHERE sno>=5; DELETE FROM stud WHERE sno>=5 && sno<=8;6.更新数据
UPDATE stud SET sname="龙" WHERE sno=4;7.查询数据
SELECT * FROM student; SELECT * FROM student WHERE sno>1002;
//使用as为字段取一个别名,as也可以省略 SELECT sno AS 学号,sname 姓名,age 年龄,address 地址 FROM student; //复杂查询 SELECT * FROM student WHERE age>24; SELECT * FROM student WHERE age>24 AND age<40; SELECT * FROM student WHERE age BETWEEN 24 AND 40;[24,40] SELECT * FROM student WHERE age<=24 OR age>40;
//选取age=21,23,25的student SELECT * FROM student WHERE age=21 OR age=23 OR age=25; SELECT * FROM student WHERE age IN(21,23,25); //选取age!=21,23,25的student SELECT * FROM student WHERE age NOT IN(21,23,25);
//选择地址为湖南开头的student,让他的age+1 SELECT * FROM student WHERE address LIKE'湖南%'; UPDATE student SET age=age+1 WHERE address LIKE'湖南%'; SELECT * FROM student WHERE sname LIKE 'd%' AND age<25; //_表示前面一个字符的个数+1 SELECT * FROM student WHERE sname LIKE 'd_'; //名字中带a的 SELECT * FROM student WHERE sname LIKE '%a%';
//模糊查询LIKE '%'通配所有字符 '_'通配单字符
SELECT * FROM stud WHERE sname LIKE '张%'; //姓张的学生
SELECT * FROM stud WHERE sname LIKE '张_'; //姓张,名为单字的学生
SELECT * FROM stud WHERE sname LIKE '张__'; //姓张,名为双字的学生
SELECT * FROM stud WHERE sname LIKE '%张%'; //姓名中含“张”字的学生
SELECT * FROM stud WHERE sname LIKE '%张%' AND age<24;
//要查询为null的要使用关键字 IS NULL SELECT * FROM student WHERE age IS NULL;
//查询字段为空字符串的记录 SELECT * FROM student WHERE sname='';
如果显示内容时要让表头变成中文,用别名(AS可以省略)
SELECT * FROM stud;
SELECT sno,sname,age,saddress FROM stud;
SELECT sno AS 编号,sname AS 姓名,age,saddress FROM stud;
SELECT sno 编号,sname 姓名,age 年龄,saddress 地址 FROM stud; //省略AS
句型:
select 字段名 from 表名 where 条件1 and 条件2 or 条件3
update 表名 set 字段名1=值 [,字段名2=值] where 子句[in 子句] [between子句]
delete from 表名 where 子句
相关文章推荐
- MySQL学习笔记2:数据库的基本操作
- Mysql学习点滴记录(1)--》数据库和表的操作
- 学习LINUX第四天:MYSQL的基本操作
- 【MYSQL数据库】MYSQL学习笔记-mysql分区基本操作
- MySQL 5.6学习笔记(数据表基本操作)
- MySQL学习笔记3:表的基本操作介绍
- mysql学习总结一:mysql的安装,介绍,基本命令操作
- sql分类及基本sql操作,校对规则(mysql学习笔记二)
- 【转】MYSQL入门学习之十:视图的基本操作
- [MySQL学习]MySQL学习之路(一)131028:数据库的基本操作和数据表的基本操作
- 【转】MYSQL入门学习之十一:触发器的基本操作
- 2009-03-04读书记录:《网页制作与PHP语言应用》第六章——MySQL基本操作
- MYSQL学习笔记-mysql分区基本操作
- php基础系列:从用户登录处理程序学习mysql扩展基本操作
- 【MYSQL数据库】MYSQL学习笔记-mysql分区基本操作
- 【转】MYSQL入门学习之一:基本操作
- MySQL学习总结2之对表的基本命令操作
- php基础系列:从用户登录处理程序学习mysql扩展基本操作
- 【mysql】mysql中基本的增删改差操作案例
- MySQL学习笔记2:数据库的基本操作