mysql常用语句

1、数据库的两种分类方式:

关系型数据库:关系型就是指二维表格型的数据库,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。当前主流的关系型数据库有Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等。

②面向对象的数据库。是指可以将其中的数据通过对象来进行操作。如:oracle数据库。

③XML型数据库。

④非关系型数据库(Nosql),随着web2.0的兴起越来越流行。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。如:redis,Mongodb,Hbase,LevelDB。

第二种分类方式:

大型数据库:oracle,Sybase,DB2,SQLserver(一般配合.net使用);

中小型数据库:Mysql,access(微软旗下的一款迷你型数据库)

2、Mysql数据库的常用命令:

准备工作:windows环境下,安装并配置好环境变量后,在cmd窗口中输入mysql,如报错ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)。

解决方法:先使用services.msc查看系统服务,没有服务的话用CMD进到mysql的bin目录下,执行mysqld -install ,成功就添加了服务,删除服务的话用mysqld -remove MySQL。接着启动服务可以在cmd中使用:net start mysql启动服务。 再以:mysql -u root 进入mysql数据库。

如果需要远程连接mysql数据库

         方法①授权:grant all privileges on DBname.* to 'root'@'ip地址' identified by '登录密码' with grant option ;

         方法②在bin目录下找到config文件,点击进入安装时的窗口,选择允许远程访问即可。

常用sql语句:

       SQL:是结构化查询语言的缩写,所有使用SQL语言的数据库,命令都通用。mysql是不区分大小写的数据库,在cmd中输入时要以分号()结尾回车后才生效,所以有些sql语句一行写不下时,可以另起一行,写完再以分号结尾回车执行。sql语句分为以下4种:

1 数据定义语言(DDL):

        show databases;(查看有哪些数据库)    

        create database test (test为数据库名);(创建数据库)        

        use databaseName;(使用此数据库)                    

        show tables;(查看选中的数据库中有哪些表格,当然没创建时,不存在表格) 

        create  table teacher(id int primary key auto_increment,name varchar(20) not null,gender char(2),age int(2),birth date,job varchar(50));  (创建表格:设定其中的字段,字段的数据类型和大小,是否是主键、是否非空等属性 )

        desc teacher;(查看表格)

       创建好表格后需要对表格进行修改时使用以下语句: 

                增加一个列:alter table teacher add column dept varchar(20);

                删除一个列:alter table teacher drop column dept;

                修改一个列的属性(不需修改列名时):alter table teacher modify dept varchar(25) not null;

                修改一个列的属性(需修改列名时):alter table teacher change dept dept_rename varchar(25);

                 修改一个列的属性(不需修改列名时也可以用change):alter table teacher change  dept_rename dept_renamevarchar(35) not null;

                修改一个表的表名字:alter table teacher rename to teacher_rename

                增加一个外键:alter table teacher add constraint foreign key(class_id) references class(id);

                删除一个外键: alter table teacher drop foreign key class_id;

 2 数据操作语言(DML):主要包括添加数据和修改数据。

       添加数据:insert into 表名 (字段1,字段2...) values(值1,值2,值3),如果不写字段则需要按照表格中的字段顺序给所有字段赋值。

      修改数据:update 表名 set 字段名=‘值’ where 字段名=‘值’。where后是条件,限定修改哪条记录。

       删除记录:delete from 表名;(删除所有记录)                  delete from 表名 where 字段=‘值’ (删除某条);

 3 数据查询语言(DRL)

       正所谓:一分添加,九分查询。sql语句使用最多的是查询。这里我们以实际例子来展示,我已经提前在之前创建的teacher表中添加了若干条记录。

① 查询所有老师的信息:select * from teacher;  *是通配符,这种方式查询效率不高,最好带上字段名。

② 查询id 为2且职业为空的老师的姓名和性别。 select  name,gender from teacher where id=2 and job is null;

③ 查询姓名最后一个字符为W的老师的信息。select * from teacher where name like 'W%'

④ 查询所有老师的信息,并按照年龄升序排列。select * from teacher order by age asc;(升序:asc,降序:desc)

⑤ 按性别分组查询男女老师的人数。select gender,count(gender) from teacher where group by  gender.

⑥ 按性别分组查询女老师的人数。select gender,count(gender) from teacher where group by  gender having gender ='mm';

⑦ 查询老师记录的前三条。select * from teacher limit 0,3; 0是起始位置,3是条数。

⑧ 别名的使用:比如在两个表都有name字段时,select t.name from teacher as t;   t是teacher的别名,as可以省略。

       sql语句中关键字出现的顺序必须是where,group by,having ,order by,limit.

4 事务控制语言(TCL):

         在关系型数据库中,一个事物可以是一条sql语句,一组sql语句或者整个程序。事务具有4个属性:原子性、一致性、隔离性、持续性。mysql默认是自动提交,每次执行语句自动完成这次事务。mysql支持回滚操作。示例:

①改为手动提交 事务:set autocommit=false; 未提交前,sql语句是存在内存中的,并未对数据库产生真正的效果。

②进行一些插入、修改操作-----rollback-----将回到插入、修改操作之前的样子。

         在操作中可以设置断点:save point  pointName;-----rollback to pointName。

         最终进行commit。当然操作途中进行commit后,将无法回滚。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值